2013-10-16 194 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