使用fastjson解析json字符串

使用fastjson解析json字符串在日常的工作中 json 是一种非常常见的数据格式 它可以被理解为键值对存储的 由于最近分析业务的时候 又处理了两种 json 字符串 今天我就将怎么处理的给大家分享一下 希望能够给学习这方面的朋友一些帮助 再给大家安利个网站 https www json cn 可以分析你得到的数据是否是 json 格式的 1 Json 套 Json 我自己造了条数据 需求是取到内部 json 中的 score 842

在日常的工作中,json是一种非常常见的数据格式,它可以被理解为键值对存储的。由于最近分析业务的时候,又处理了两种json字符串,今天我就将怎么处理的给大家分享一下,希望能够给学习这方面的朋友一些帮助。再给大家安利个网站https://www.json.cn/,可以分析你得到的数据是否是json格式的。

1.Json套Json

我自己造了条数据,需求是取到内部json中的score。

{"842":{"useranswer":"3407|3408","score":0},"846":{"useranswer":"3414","score":0},"847":{"useranswer":"3499","score":2}} 

我们可以看出,它是一个json字符串中,又有三个json字符串。

import com.alibaba.fastjson.JSONObject; import java.util.Iterator; import java.util.Set; public class JsonAndJson { public static void main(String[] args) { String jsonStr="{\"842\":{\"useranswer\":\"3407|3408\",\"score\":0},\"846\":{\"useranswer\":\"3414\",\"score\":0},\"847\":{\"useranswer\":\"3499\",\"score\":2}}"; //先将这条数据解析为JSONObject JSONObject outJson = JSONObject.parseObject(jsonStr); //因为外部的JSON的key为三位数字的编号,我们需要得到编号,才能得到它对应的内部json Set 
  
    jsonSet = outJson.keySet(); Iterator 
   
     iterator = jsonSet.iterator(); while (iterator.hasNext()){ //通过迭代器可以取到外部json的key String json = iterator.next(); //取得内部json字符串 String string = outJson.getString(json); //将内部json字符串解析为object对象 JSONObject inJson = JSONObject.parseObject(string); //通过score,得到value值 String score = inJson.getString("score"); System.out.println(score); } } } 
    
  

2.Json数组

这里需求是,拿到除了pid为0的name,并将拿到的拼接起来。

[{"id":50,"name":"Python","pId":0},{"id":77,"name":"web前端","pId":50},{"id":78,"name":"Linux&数据库","pId":50}] 

这里就需要进行与第一个Json套Json不同的操作了

import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; public class JsonArray { public static void main(String[] args) { String jsonArray="[{\"id\":50,\"name\":\"Python\",\"pId\":0},{\"id\":77,\"name\":\"web前端\",\"pId\":50},{\"id\":78,\"name\":\"Linux&数据库\",\"pId\":50}]\n"; StringBuffer sb=new StringBuffer(); //需要使用的JSON的parseArray方法,将jsonArray解析为object类型的数组 JSONArray objects = JSON.parseArray(jsonArray); for(int i=0;i 
  
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202604.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:44
下一篇 2026年3月19日 下午11:44


相关推荐

  • oracle和mysql语法区别大吗_口语和语法的区别

    oracle和mysql语法区别大吗_口语和语法的区别最近需要迁移项目,将数据库由Oracle改为MySQL。由于两者的语法有部分不一样,所以需要把Oracle中能用但MySQL中不能用的函数/类型等改为MySQL中能用的,以下是总结出的部分语法区别:一、数据类型1.Number类型MySQL中是没有Number类型的,但有int/decimal类型,Oracle中的Number(5,1)对应MySQL中的decima…

    2025年11月17日
    4
  • qtabwidget 样式_标注样式怎么设置合理

    qtabwidget 样式_标注样式怎么设置合理个人使用qt,感觉QTabwidget是个非常好用的控件,但有时候总是感觉其tab样式不好控制或说不够灵活,从而导致放弃使用该控件。比如说,标签横向显示的时候,文字随之也横着显示了,这样还需要指定自定义样式,继承QProxyStyle类并重写drawControl虚函数。然而这样过于麻烦,关于软件主菜单不同的界面切换,个人还是比较喜欢按键组合+STackedWidget控件。对于一遍的小界面来说,QTabWidget其实完全满足你的使用要求,所以本文主要简述QTabwidget样式的常用使用方法,配合标

    2025年11月29日
    9
  • eclipse javadoc快捷键_mac系统截图快捷键

    eclipse javadoc快捷键_mac系统截图快捷键Mac下EclipseJava快捷键

    2025年6月22日
    4
  • 30自制操作系统的第一天12天 计时器(1)

    30自制操作系统的第一天12天 计时器(1)

    2022年1月4日
    52
  • 实验一:鸢尾花数据集分类「建议收藏」

    实验一:鸢尾花数据集分类一、问题描述二、数据集分析Iris鸢尾花数据集内包含3种类别,分别为山鸢尾(Iris-setosa)、变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica)。 数据集共150条记录,每类各50个数据,每条记录有花萼长度、花萼宽度、花瓣长度、花瓣宽度4项特征,通过这4个特征预测鸢尾花卉属于哪一品种。 iris数据集包含在sklearn库当中,具体在sklearn\datasets\data文件夹下,文件名为iris.c.

    2022年4月18日
    66
  • 【OpenCV】角点检测:Harris角点及Shi-Tomasi角点检测

    【OpenCV】角点检测:Harris角点及Shi-Tomasi角点检测角点特征检测与匹配是 ComputerVisi 应用总重要的一部分 这需要寻找图像之间的特征建立对应关系 点 也就是图像中的特殊位置 是很常用的一类特征 点的局部特征也可以叫做 关键特征点 keypointfeat 或 兴趣点 interestpoin 或 角点 conrner 关于角点的具体描述可以有几种 一阶导数 即灰度的梯度 的局部最大所对应的像素点

    2026年3月26日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号