私は 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-fragment":{"workItems":[{"id":{"@id":"251","@version":"1"},"visible":true,"state":"OPENED ","header":{"@priority":"50","flags":{"scheduleStatus":"DURING"},"@startDate":"2013-10-15T12:30:57.493Z","説明":"UserReconcile","@distributionStrategy":"OFFER","name":"UserReconcile","itemContext":{"appName":"NpdaProcess","appInstance":"pvm:0a12iq","activityName": "UserReconcile","appID":" -hYCETV8EeOr4-yR8gXd7g","activityID":"pvm:001im4"}}},{"id":{"@id":"252","@version":"0"},"visible":true,"state":"OFFERED","header":{"@priority":"50","flags":{"scheduleStatus":"DURING "},"@startDate":"2013-10-15T12:31:15.263Z","説明":"UserReconcile","@distributionStrategy":"OFFER","name":"UserReconcile","itemContext": {"appName":"NpdaProcess","appInstance":"pvm:0a12ir","activityName":"UserReconcile","appID":"@startDate":"2013-10-15T12:31:15.263Z","description":"UserReconcile","@distributionStrategy":"OFFER","name":"UserReconcile","itemContext":{"appName" :"NpdaProcess","appInstance":"pvm:0a12ir","activityName":"UserReconcile","appID":"@startDate":"2013-10-15T12:31:15.263Z","description":"UserReconcile","@distributionStrategy":"OFFER","name":"UserReconcile","itemContext":{"appName" :"NpdaProcess","appInstance":"pvm:0a12ir","activityName":"UserReconcile","appID":"-hYCETV8EeOr4-yR8gXd7g","activityID":"pvm:001imh"}}}],"totalItems":2,"endPosition":1,"startPosition":0}}
それから私は試します:
final JSONArray geodata = obj.getJSONArray("workItems");
しかし、それは失敗します
JSONObject["workItems"] not found.
json doc で私が理解していることから、workItems は配列名である必要がありますか、それとも間違っていますか?