JSON字符串解析实践

很久没写代码了,最近有个小需求,需要解析一段字符串,数据比较地多,手工搞成本高,用程序解决,还是上策,由于是json的格式,解析起来可能更加便捷,有很多三方包,我采用的是org.json,maven配置如下,

org.json json 20210307
需要解析的字符串例子如下所示,

[{
“name”: “Ronaldo”,
“nationality”: “Portugal”,
“position”: “forward”
}, {
“name”: “De Bruyne”,
“nationality”: “Belgium”,
“position”: “midfielder”
}, {
“name”: “de Ligt”,
“nationality”: “Netherlands”,
“position”: “defender”
}]
代码其实很简单,由于是数组形式,需要用到遍历,解析出每个元素,再根据key得到value,按照要求打印,

public static void main(String[] args) {
String json = “[{\”name\”:\”Ronaldo\”,\”nationality\”:\”Portugal\”,\”position\”:\”forward\”},{\”name\”:\”De Bruyne\”,\”nationality\”:\”Belgium\”,\”position\”:\”midfielder\”},{\”name\”:\”de Ligt\”,\”nationality\”:\”Netherlands\”,\”position\”:\”defender\”}]”;
JSONArray jsonArray = new JSONArray(json);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
System.out.println(jsonObject.getString(“name”) + “|” + jsonObject.getString(“nationality”) + “|” + jsonObject.getString(“position”));
}
}
输出如下内容,

Ronaldo|Portugal|forward
De Bruyne|Belgium|midfielder
de Ligt|Netherlands|defender
如下是JSON解析的整个过程,

针对不同的JSON,只需要根据相应的结构特点,设计解析逻辑,理解了这个原理,可以说大同小异。

如果您认为这篇文章有些帮助,还请不吝点下文章末尾的”点赞”和”在看”,或者直接转发朋友圈,

声明:文中观点不代表本站立场。本文传送门:http://eyangzhen.com/418501.html

联系我们
联系我们
分享本页
返回顶部