0
["[{\"timeFrom\":\"06:00:00\",\"timeTo\":\"09:00:00\",\"title\":\"First\"},{\"timeFrom\":\"09:00:00\",\"timeTo\":\"12:00:00\",\"title\":\"Second\"},{\"timeFrom\":\"12:00:00\",\"timeTo\":\"16:00:00\",\"title\":\"Third\"},{\"timeFrom\":\"16:00:00\",\"timeTo\":\"20:00:00\",\"title\":\"Fourth\"},{\"timeFrom\":\"20:00:00\",\"timeTo\":\"21:30:00\",\"title\":\"5th\"},{\"timeFrom\":\"21:30:00\",\"timeTo\":\"00:00:00\",\"title\":\"Dessert (within two hours of bedtime)th\"}]"]

JSONArray をログに記録すると、この配列を取得しました。それを反復してそれらの値を取得するにはどうすればよいですか?

編集

for (int i = 0; i < MyService.Meals.length(); ++i) { 
JSONObject rec = MyService.Meals.getJSONObject(i); String text = rec.getString("timeFrom"); 
}

MyService.Meals.length() = 1 であるため、何も返されません。

MyService.Meals は JSONArray インスタンスです

4

2 に答える 2

1

この問題は、配列の形式が次のようになっているために発生します。

[
  "[{\"timeFrom\":\"06:00:00\",\"timeTo\":\"09:00:00\",\"title\":\"First\"},{\"timeFrom\":\"09:00:00\",\"timeTo\":\"12:00:00\",\"title\":\"Second\"},{\"timeFrom\":\"12:00:00\",\"timeTo\":\"16:00:00\",\"title\":\"Third\"},{\"timeFrom\":\"16:00:00\",\"timeTo\":\"20:00:00\",\"title\":\"Fourth\"},{\"timeFrom\":\"20:00:00\",\"timeTo\":\"21:30:00\",\"title\":\"5th\"},{\"timeFrom\":\"21:30:00\",\"timeTo\":\"00:00:00\",\"title\":\"Dessert (within two hours of bedtime)th\"}]"
]

これは、1 つの文字列を内容とするサイズ 1 の配列です。

文字列エンコードされた文字列内の配列を期待しています。これは次のようになります。

[
  {
    "timeFrom": "06: 00: 00",
    "timeTo": "09: 00: 00",
    "title": "First"
  },
  {
    "timeFrom": "09: 00: 00",
    "timeTo": "12: 00: 00",
    "title": "Second"
  },
  {
    "timeFrom": "12: 00: 00",
    "timeTo": "16: 00: 00",
    "title": "Third"
  },
  {
    "timeFrom": "16: 00: 00",
    "timeTo": "20: 00: 00",
    "title": "Fourth"
  },
  {
    "timeFrom": "20: 00: 00",
    "timeTo": "21: 30: 00",
    "title": "5th"
  },
  {
    "timeFrom": "21: 30: 00",
    "timeTo": "00: 00: 00",
    "title": "Dessert(withintwohoursofbedtime)th"
  }
]

Javascript コードを調べると、必要な配列を文字列内にラップし、それを別の配列に入れるセクションがあるようです。への不要な呼び出しを検査します。JSON.stringify()

于 2013-11-15T18:23:58.313 に答える