如下:想要取得data数组下的每组数据的
- ——>replies——>(变动id)——>self——>content的内容
{
"data": [{
"nick_name": "u5c0fu57ce",
"content": "u6c34u7535u8d39u4e0du6309u7269u4ef7u5c40u5b9au4ef7u6536u53d6u3002
nu7535u7ebfu7535u7f06u7ebfu8defu8001u5316u751au81f3u7834u635fuff0cu5bb9u6613u53d1u751fu6f0fu7535u3001u89e6u7535u5371u9669u3002",
"replies": {
"164955758975185775": {
"self": {
"nick_name": "u9ad8u53efu60e0",
"content": "u5df2u5bf9u7269u4e1au6536u8d39u8fdbu884cu76d1u7ba1uff0cu5982u6709u8fddu89c4u884cu4e3au5c06u5904u7f5au6574u6539u3002[u63e1u624b]nu5c06u8fdbu4e00u6b65u6392u67e5u7535u8defu7ba1u9053u95eeu9898uff0cu611fu8c22u4f60u7684u53cdu9988u3002",
}
}
},
}, {
"nick_name": "u968fu98ce",
"content": "u6709u7684u5145u7535u6869u574fu4e86uff0cu5e0cu671bu5febu901fu4feeu7406u4e00u4e0b",
"replies": {
"164955729095210928": {
"self": {
"nick_name": "u9ad8u53efu60e0",
"content": "u8c22u8c22u4f60u7684u5efau8baeuff0cu5df2u91c7u7eb3[u63e1u624b]",
}
}
},
}, {
"nick_name": "Bruce.Li",
"content": "u6211u4eecu7684u5c0fu533au5bf9u6211u6765u8bf4u5c31u662fu5929u5802uff0cu5230u5904u90fdu662fu6811u6728u82b1u8349uff0cu51e0u4e4eu6ca1u6709u7a7au767du7684u571fu58e4u3002u800cu6700u8fd1u6211u5374u53d1u73b0u4e00u4e2au5f88u4e25u91cdu7684u95eeu9898u3002u6d47u5b8cu82b1u7684u6c34u7ecfu5e38u653eu8086u5730u6d41u6dccu7740uff0cu6c34u7ba1u5b50u968fu610fu88abu4e22u5728u4e00u4e2au6811u5751u91ccuff0cu9a6cu8defu4e0au6d41u6dccu4e86u79efu6c34uff0cu4e00u8fc7u8f66u5c31u4f1au6e85u8d77u6ce5u6c34u3002",
"replies": {
"164955455236202926": {
"self": {
"nick_name": "u9ad8u53efu60e0",
"content": "[u5472u7259]u597du7684uff0cu611fu8c22u60a8u7684u5efau8baeuff0cu5c06u91c7u53d6u6539u8fdbu63aau65bd",
}
}
},
}]
}
-
须知:1、对json对象格式的数据,我们可以通过属性名来得到对应的数据
JSONObject data= jsonData.getJSONObject(i); String nick_username=data.getString("nick_name"); -
2、对于数组类型的数据,可以通过遍历。该数据的data 就相当于一个数组
-
拿到每一条数据下的self 要先进入 "164955758975185775"这种变动ID层
-
先进入replies层,这个直接利用先遍历数组data,再进行getstring(“replies”)拿到
-
再将replies的数据转化为数组——json对象的数据转为数组,才可以不考虑属性名,利用遍历来获得数据。这是关键一步
-
接下来就是遍历进入变动的ID层
-
ID层后 就可以再根据JSON对象 的self属性拿到 self层数据
-
下同 拿到content
JSONObject repliesData = JSONObject.parseObject(replies); JSONObject selfData=(JSONObject) repliesData.values().toArray()[0];
-
public class JSON_advice {
public static String[] rply;
public static String[] usercontent;
public static String[] creatTime;
public static String[] nickName;
public static Map map ;
public static Map Advice() throws IOException {
rply=new String[50];
usercontent=new String[50];
creatTime=new String[50];
nickName=new String[50];
map= new HashMap();
String fileName = "C:\Users\stype\Desktop\json.txt";
String s = Files.readString(Paths.get(fileName));
JSONObject jsonObject = JSONObject.parseObject(s); //转为json
JSONArray jsonData=jsonObject.getJSONArray("data");
for (int i = 0; i < jsonData.size(); i++) {
JSONObject data= jsonData.getJSONObject(i);
String nick_username=data.getString("nick_name");
String content=data.getString("content");
String replies=data.getString("replies");
String creattime=data.getString("created_at");
JSONObject repliesData = JSONObject.parseObject(replies);
JSONObject selfData=(JSONObject) repliesData.values().toArray()[0];//obj转数组
JSONObject self1 = JSONObject.parseObject(selfData.getString("self"));
String rely=self1.getString("content");
rply[i]=rely;
usercontent[i]=content;
creatTime[i]=creattime;
nickName[i]=nick_username;
}
map.put("rply",rply );
map.put("usercontent",usercontent );
map.put("creatTime",creatTime );
map.put("nicksName",nickName );
return map;
}



