2013-10-16 197 views
1

我是JSON的新手,尝试实现一些如何解析json响应但无法正确解决问题的示例。解析JSON对象 - 找不到对象

我有响应,并使用下面的Java代码:

import org.json.JSONArray; 
import org.json.JSONObject; 


BufferedReader br = new BufferedReader(new InputStreamReader((connection.getInputStream()))); 
final JSONObject obj = new JSONObject(br.readLine()); 

如果我打印JSONObject我得到:

{ “XML片段”:{ “工作项”:[{ “ID”:{ “@ ID”: “251”, “@版本”: “1”}, “可见”:真, “状态”: “打开的”, “标题”:{ “@优先”:“50 ”, “标志”:{ “scheduleStatus”: “在”}, “@的startDate”: “2013-10-15T12:30:57.493Z”, “描述”: “UserReconcile”, “@ distributionStrategy”: “OFFER” , “名”: “UserReconcile”, “itemContext”:{ “APPNAME”: “NpdaProcess”, “appInstance”: “PVM:0a12iq”, “activityName”: “UserReconcile” ,“appID”:“-hYCETV8EeOr4-yR8gXd7g”,“activityID”:“pvm:001im4”}}},{“id”:{“@ id”:“252”,“@ version”:“0”} , “可见”:真, “状态”: “提供”, “标题”:{ “@优先”: “50”, “标志”:{ “scheduleStatus”: “在”}, “@的startDate”:“2013 -10-15T12:31:15.263Z “ ”描述“: ”UserReconcile“, ”@ distributionStrategy“: ”提供“, ”姓名“: ”UserReconcile“, ”itemContext“:{ ”APPNAME“: ”NpdaProcess“,” appInstance“:”pvm:0a12ir“,”activityName“:”UserReconcile“,”appID“:” -hYCETV8EeOr4-yR8gXd7g“,”activityID“:”pvm:001imh“}}}],”totalItems“:2,终端位置 “:1,” 指定startPosition“:0}}

然后我尝试: final JSONArray geodata = obj.getJSONArray("workItems");,但它失败

JSONObject["workItems"] not found. 

从我理解的JSON文档中,workItems应该是数组名称还是错误的?

回答

0

您的工作项数组仍在您的xml片段中。 尝试

final JSONArray geodata = obj.getJSONObject("xml-fragment").getJSONArray("workItems"); 
+0

感谢它的工作。令人困惑的是,我有一个json obj,然后我不得不说obj.getJSONObject(....)。我会继续练习,获得json的颂歌:) – Ken