首页 > 编程语言 > 详细

JAVA中如何解析Json格式的字符串

时间:2021-07-17 18:33:51      阅读:38      评论:0      收藏:0      [点我收藏+]

我们写项目时有时候会接收一些json格式的数据,那么我们该如何解析它们呢。

首先我们应该了解什么是json:
json的语法规则:

  • json会通过{}来保存对象
  • json通过[]来保存数组
  • 数据会通过键值对的形式保存
  • 数据之间会用,隔开

例如

{"words_result":[{"words":"苏E05EV85"}],"log_id":1416028548941363325,"words_result_num":1}

这个就是一段json格式的字符串,当然,我们是要对结果进行解析,并不用知道这些具体代表什么意思。这个字符串总共有三组数据,第一组数据的值由[ ]包裹,可以得出它是一个数组格式,即使只有一条数据,后面的两条就是普通的键值对格式了。

想要解析字符串首先要下载一个依赖

	<dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.28</version>
    </dependency>

我们需要用到依赖中的两个类:JSONObject 与 JSONArray
具体代码如下:

String result="{"words_result":[{"words":"苏E05EV85"}],"log_id":1416028548941363325,"words_result_num":1}";
JSONObject root = new JSONObject().parseObject(result);// 将json格式的字符串转换成json
String value = root.getString("log_id");//定义一个字符串,其值为根据json对象中的数据名解析出的其所对应的值
String value2 = root.getString("log_id");//重复上一步操作,得到相对应的值
//将结果打印输出
System.out.println(value);//打印输出
System.out.println(value2);//打印输出

我们得到的结果为
技术分享图片

由于第一项为数组,所以需要用到JSONArray,实现如下

JSONArray Arr = root.getJSONArray("words_result");//根据json对象中数组的名字解析出其所对应的值
for (int i = 0; i < Arr.size(); i++) {
JSONObject dataBean = (JSONObject) Arr.get(i);//得到数组中对应下标对应的json对象
String plate = dataBean.getString("words");//根据json对象中的数据名解析出相应数据
System.out.println(plate);//打印输出
}

这样我们就可以拿到我们需要的结果了:

技术分享图片

快来试试看吧!

JAVA中如何解析Json格式的字符串

原文:https://www.cnblogs.com/zy-3841/p/15023415.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!