ITPub博客

首页 > 数据库 > 数据库开发技术 > JSON字符串解析实践

JSON字符串解析实践

原创 数据库开发技术 作者:bisal 时间:2024-07-03 07:50:00 0 删除 编辑

点击标题下「蓝色微信名」可快速关注

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

<dependency>   <groupId>org.json</groupId>   <artifactId>json</artifactId>   <version>20210307</version></dependency>

需要解析的字符串例子如下所示,

[{  "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|forwardDe Bruyne|Belgium|midfielderde Ligt|Netherlands|defender

如下是JSON解析的整个过程,

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


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



近期更新的文章:
《金融大模型应用的机遇与挑战》
《MySQL 5.7升级8.0的INT的显示问题场景》
《坐橐儿》
《中国队“自己的”世界杯》
《GOPS全球运维大会(北京站)》

热文鉴赏:
《你不知道的C罗-Siu庆祝动作》
《架构设计的15个关键概念》
《大阪环球影城避坑指南和功略》
《推荐一篇Oracle RAC Cache Fusion的经典论文》
《"红警"游戏开源代码带给我们的震撼》

文章分类和索引:
《公众号1500篇文章分类和索引》

原文作者:bisal的个人杂货铺;如有侵权,请联系管理员删除。

下一篇: 坐橐儿
请登录后发表评论 登录
全部评论
Oracle ACE,10g/11g OCP,11g OCM,国内首批Oracle YEP成员(Oracle Young Expert Program,Oracle用户组年轻专家项目),EXIN DevOps Master,Oracle爱好者,微信公众号:bisal的个人杂货铺

注册时间:2022-06-21

  • 博文量
    539
  • 访问量
    2801168