助けてください。私はプロジェクトに取り組んでおり、JSON 形式で Web サービスからデータを取得しています。解析しようとしていますが、実行できません。私はこのjson-data-を持っています
{
"response": {
"status": {
"code": "1",
"message": "sucess",
"user_id": "1"
},
"foods": [
{
"char": "A",
"content": [
{
"food_name": "add Malt"
},
{
"food_name": "a la mode"
},
{
"food_name": "Almonds"
}
]
},
{
"char": "Z",
"content": [
{
"food_name": "Zebra Cakes"
},
{
"food_name": "Zucchini, Baby"
},
{
"food_name": "zxc"
}
]
}
]
}
}
ここから、「foods」配列を正常に取得できますが、「content」配列と food_name データを取得しようとすると行き詰まります。
このコードを使用していますが、解決策がありません。この切り取りコードを確認してください。
protected String doInBackground(String... args) {
// Building Parameters
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("method","eat_tracking_details"));
nameValuePairs.add(new BasicNameValuePair("uid",userid));
// getting JSON string from URL
JSONObject json = jsonParser.makeHttpRequest(JSONParser.urlname,"GET", nameValuePairs);
//System.out.println("****json*"+json);
if (json != null) {
try {
JSONObject response = json.getJSONObject("response");
JSONObject status = response.getJSONObject("status");
code = status.getString("code");
JSONArray FoodArray = response.getJSONArray("foods");
for (int i = 0; i < FoodArray.length(); i++) {
String character = FoodArray.getJSONObject(i).getString("char");
System.out.println("*****character****************"+character);
JSONArray FoodNameArray = new JSONArray(FoodArray.getJSONObject(i).getString("content"));
System.out.println("====================///////////"+FoodNameArray);
for (int j = 0; j <FoodNameArray.length(); j++) {
String Foodname = FoodArray.getJSONObject(j).getString("food_name");
System.out.println("@@@@@@@@@@@@@"+Foodname);
}
}
} catch (JSONException e) {
// TODO: handle exception
}
}
この URL で Web サービスの応答を確認してください - WEB-SERVICE URL