1

使用网络服务,我正在请求直方图数据。数据是数组内的一组数组:

[[1375056000000,23.284713745117],[1375142400000,3.809531211853],
[1375228800000,9.6309003829956],[1375315200000,2.7411839962006]]

我希望能够将密钥对值存储在哈希映射中。通常我会遍历 JSONArray 并使用 jsonObject.getInt("whatever") 访问对象,但在这种情况下我不能。不知道如何实现这一点。

提前感谢=)

4

3 回答 3

2

从您的 JSON 字符串创建 JSONArray 对象,然后使用 getJSONArray(int index) 方法进行迭代。最后使用 getDouble(int index) 和 getLong(int index) 从内部数组中检索值。

在你的例子中:

JSONArray a1 = new JSONArray("[[1375056000000,23.284713745117],[1375142400000,3.809531211853]]");
for (int i=0; i<a1.length(); i++) {
 JSONArray a2 = a1.getJSONArray(i);
 long v1 = a2.getLong(0);
 double v2 = a2.getDouble(1); 
}
于 2013-08-27T15:30:28.933 回答
0
String json = "[[1375056000000,23.284713745117],[1375142400000,3.809531211853],[1375228800000,9.6309003829956],[1375315200000,2.7411839962006]]";

JSONArray jsonArray = new JSONArray(json);
for (int i = 0; i < jsonArray.length(); i++){
    jsonArray.getJSONArray(i).getLong(0); //do something with the key
    jsonArray.getJSONArray(i).getDouble(1); //do something with the value
}
于 2013-08-27T15:33:16.913 回答
0
String yourJsonArray;
JSONArray root = new JSONArray(yourJsonArray);
int rootSize = root.length();
for (int i = 0, i < rootSize; i++) {
  JSONArray inner = root. getJSONArray(i);
  long firstChildren = inner.getLong(0);
  double secondChildren = inner.getDouble(1);


}
于 2013-08-27T15:34:05.407 回答