1、识别json格式字符串是JSONObject还是JSONArray
JSON数据格式只有两种形式,分别是:
{"key":
"value"}
//JSONObject(对象)
[{"key1":
"value1"},
{"key2":
"value2"}]
//JSONArray(数组)
JSONObject可以用key取值,JSONArray只能遍历取值
2、遍历json数组
假设我们得到的json字符串result如下:
{
"feature":"fresh_today",
"photos":[
{
"id":40581634,
"name":"Dandelion1"
},
{
"id":40581608,
"name":"Dandelion2"
}
]
}
可以看出来,最外面是个json对象,photos节点是个数组,遍历代码如下:
import
net.sf.json.JSONArray;
import
net.sf.json.JSONObject;
JSONObject jsonObject = JSONObject.fromObject(result);
String feature = jsonObject.getString("feature");
JSONArray photoArray = jsonObject.getJSONArray("photos");
for (int i = 0; i < photoArray.size(); i++) {
JSONObject object = (JSONObject) photoArray.get(i);
int id = object.getInt("id");
String name = object.getString("name");
}
附上一个很好用的在线json格式化和校验的网站 复制放入网址打开即可 https://www.bejson.com/