JSONArray中未命名的JSON数组

时间:2013-08-27 15:23:53

标签: java android json parsing arrays

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

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

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

提前致谢=)

3 个答案:

答案 0 :(得分: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); 
}

答案 1 :(得分: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
}

答案 2 :(得分: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);


}