【发布时间】:2015-05-02 04:24:19
【问题描述】:
大家好,我需要帮助以获取 JSON 数据中的 value obj
[
{
"type": "visitors",
"dates": [
{
"date": "2015-05-01",
"items": [
{
"value": "100"
}
]
}
]
},
{
"type": "actions",
"dates": [
{
"date": "2015-05-01",
"items": [
{
"value": "230"
}
]
}
]
},
{
"type": "actions-average",
"dates": [
{
"date": "2015-05-01",
"items": [
{
"value": "2.3"
}
]
}
]
}
]
我使用此代码获取value,但我想将不同的value 分配给不同的变量
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String value = null;
JSONArray datesArray = jsonObject.getJSONArray("dates");
for (int j = 0; j < datesArray.length(); j++) {
JSONObject dates = datesArray.getJSONObject(j);
JSONArray itemsArray = dates.getJSONArray("items");
for (int k = 0; k < itemsArray.length(); k++) {
JSONObject vvObj = itemsArray.getJSONObject(k);
value = vvObj.getString("value");
//Log.v(TAG, "Edited JSONData: " + k + value);
}
}
values[i] = value;
//Log.v(TAG, "loop JSONData: " + Arrays.toString(values));
}
最终结果是这样的
var1 = value // form the first loop
var2 = value // form the 2nd loop
var3 = value // form the 3rd loop
【问题讨论】:
-
您使用当前代码遇到了什么问题?
-
我得到
value,但我想为每个时间循环分配一个不同的变量,例如第一个循环值分配给var1,第二个循环值分配给var2,就像这样 -
您将所有值存储在
values中,然后从values读取并分配给其他变量,例如 var1=values[0],var2=values[1],... 那么问题出在哪里? -
是你需要进入值数组中的值,如代码中所示。您可以在 for 循环结束后通过从数组中获取值来分配您需要的变量
-
@Msk 我从 for 循环中得到
value,但我想分配给不同的变量,它只是我的应用程序中显示的示例,我得到更多的 10JSONObject这样我想分配给不同的变量