【发布时间】:2016-01-14 08:03:44
【问题描述】:
String json_string_from_server = "{\"test1\":\"test1_value\",\"test2\":\"test2_value\"}";
如何循环 JSON 并打印所有键和值。
【问题讨论】:
-
请添加您尝试过的代码
-
使用
JSONObject和JSONArray
String json_string_from_server = "{\"test1\":\"test1_value\",\"test2\":\"test2_value\"}";
如何循环 JSON 并打印所有键和值。
【问题讨论】:
JSONObject和JSONArray
你可以像下面这样简单地解析 Json 字符串 -
String json_string_from_server = "{\"test1\":\"test1_value\",\"test2\":\"test2_value\"}";
JSONObject jObj = new JSONObject(json_string_from_server);
String val_Test1 = jObj.getString("test1");
String val_Test2 = jObj.getString("test2");
案例2:
String json_string_from_server = "{
"result" : [
{\"test1\":\"test1_values_baru\", \"test2\":\"test2_values\"},
{\"test1\":\"test1_values\", \"test2\":\"test2_values\"}
]
}";
JSONObject jObj = new JSONObject(json_string_from_server);
JSONArray jResultArray = jObj.getJSONArray("result");
for(int i=0; i<jResultArray.length(); i++){
JSONObject jResultObj = jResultArray.getJSONObject(i);
String val_Test1 = jResultObj.getString("test1");
String val_Test2 = jResultObj.getString("test2");
}
【讨论】:
假设 jsonString 是一个变量,您可以在其中从 php 获取所有 json。您将需要按如下方式迭代数组:
JSONArray arr = new JSONArray(JsonString);
for(int i=0; i<= arr.length(); i++)
{
JSONObject obj = arr.get(i);
obj.getString('test1'); // these are your strings
obj.getString('test2');
}
【讨论】:
String json_string="[{\"test1\":\"test1_values_baru\",\"test2\":\"test2_values\"},{\"test1\":\"test1_values\",\"test2\":\"test2_values\"}]";
JSONArray jResultArray = new JSONArray(json_string);
for(int i=0; i<jResultArray.length(); i++){
JSONObject jResultObj = jResultArray.getJSONObject(i);
String val_Test1 = jResultObj.getString("test1");
String val_Test2 = jResultObj.getString("test2");
}
【讨论】: