使用网络服务我正在请求直方图数据。数据是数组中的一组数组:
[[1375056000000,23.284713745117],[1375142400000,3.809531211853],
[1375228800000,9.6309003829956],[1375315200000,2.7411839962006]]
我希望能够将密钥对值存储在哈希映射中。通常我会遍历JSONArray并使用jsonObject.getInt(“whatever”)访问对象,但在这种情况下我不能。不知道如何实现这一目标。
提前致谢=)
答案 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);
}