fastJson 解析json字符串

fastJson 解析json字符串packagecom zhw project domain importcom alibaba fastjson JSON importcom alibaba fastjson JSONArray importcom alibaba fastjson JSONObject importjava util ArrayList importjava util List 正常防疫对象 antiepidemic normal authorruoyi

package com.zhw.project.domain; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.ArrayList; import java.util.List; public class TextJson { 
    //定义内部类用于接收json字符串的java的实体类 static class JsonUser{ 
    private String name; private Integer age; public String getName() { 
    return name; } public void setName(String name) { 
    this.name = name; } public Integer getAge() { 
    return age; } public void setAge(Integer age) { 
    this.age = age; } } public static void main(String[] args) { 
    //json字符串各种解析 //定义测试的json字符串 String str = "{\"code\":0,\"data\":{\"name\":\"你好\",\"age\":29}}"; //一,使用fastjson对json字符串进行解析 //1,json简单解析 //将json字符串 json格式化 JSONObject jsonObject = JSON.parseObject(str); //获取json对象中的code Integer code = jsonObject.getInteger("code"); System.out.println("解析简单的json字符串"); System.out.println("code:"+code); //获取data 由于data为json字符串类型 可以直接使用getJSONObject方法 返回一个json格式化后的对象 JSONObject data = jsonObject.getJSONObject("data"); //获取data中的name值 String name = data.getString("name"); Integer age = data.getInteger("age"); //打印 System.out.println("name:"+name+"-"+"age:"+age); //2,使用java对象接收json字符串 //获取data字符串 由于要将字符串转成对象 所以这边使用getString方法 String data1 = jsonObject.getString("data"); //使用fastjson将json字符串转成java对象 data1为json类型的字符串,JsonUser.class为要转成的实体类对象 //fast会将json字符串中的key与java实体类中的属性进行对应,所以实体类的属性名要与json字符串中的key相同 JsonUser jsonUser = JSON.parseObject(data1, JsonUser.class); System.out.println("使用javabean解析json字符串"); System.out.println("name:"+jsonUser.getName()+"-"+"age:"+jsonUser.getAge()); //3,解析带有数组(集合)的json字符串 //定义json字符串 String jsonArray = "{\"code\":0,\"data\":[{\"name\":\"你好\",\"age\":29},{\"name\":\"你好1\",\"age\":25}]}"; //将json字符串json格式化 JSONObject jsonObject1 = JSON.parseObject(jsonArray); //获取json字符串中的data,data为jsonarray类型 JSONArray data2 = jsonObject1.getJSONArray("data"); System.out.println("普通解析JSONArray字符串"); //遍历data2 JSONArray数组 //JSONArray的类型为Object for (Object obj:data2){ 
    //循环打印 JSONObject jsonObject2 = JSON.parseObject(obj.toString()); System.out.println("name:"+jsonObject2.getString("name")+"-"+"age:"+jsonObject2.getInteger("age")); } //4,解析带有数组的json字符串 使用java对象接收 //使用parseArray方法 第一个参数为json格式的json数组字符串,第二个参数为接收的实体类类型 System.out.println("javaBean解析JSONArray字符串"); List<JsonUser> jsonUsers = JSON.parseArray(jsonObject1.getString("data"),JsonUser.class); for (JsonUser ju:jsonUsers){ 
    System.out.println("name:"+ju.getName()+"-"+"age:"+ju.getAge()); } } } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2026年3月19日 下午3:57
下一篇 2026年3月19日 下午3:58


相关推荐

  • python win32api教程_解放双手——python win32api 入门「建议收藏」

    python win32api教程_解放双手——python win32api 入门「建议收藏」#_*_coding:UTF-8_*_”’本文在原程序的基础上做了修改补充,更加清晰易懂。get_mouse_point():返回当前鼠标的值(x,y)mouse_move(x,y):移动鼠标mouse_click(x,y):单击mouse_dclick(x,y):双击put(str=”,flag=0):flag默认为0,则表示输入的字符串,为1:字符要表示的是快捷组合按键,快捷键要用空…

    2022年10月11日
    4
  • 带通滤波器中心频率怎么求_滤波器的带宽是什么

    带通滤波器中心频率怎么求_滤波器的带宽是什么qsj8362234发表于2012-9-2712:08你索性把你的代码发我把clc;closeall;clearall;fs=20000;%采样频率dt=1/fs;f1=1000;f2=2000;%两个信号的频率a=[1010101100];%信号,取整nn=length(a);g1=a;g2=~a;%信号反转和…

    2025年9月16日
    8
  • CouchDB安装以及使用

    CouchDB安装以及使用系统 root fabric cli cat etc redhat releaseCentO 5 1804 Core 安装安装 rpm 仓库 vi etc yum repos d bintray apache couchdb rpm repo bintrayapach couchdb rpm name bintray

    2026年3月17日
    2
  • 新版Kubernetes问题处理流程

    新版Kubernetes问题处理流程

    2021年5月13日
    125
  • jmeter的正则表达式提取器_正则表达式提取

    jmeter的正则表达式提取器_正则表达式提取应用场景:在一个线程组中,B请求需要使用A请求返回的数据,也就是常说的关联,将上一个请求的响应结果作为下一个请求的参数,则需要对A请求的响应报文使用后置处理器,其中最方便最常用的就是正则表达式提取器了。正则表达式提取器:允许用户从作用域内的sampler请求的服务器响应结果中通过正则表达式提取值所需值,生成模板字符串,并将结果存储到给定的变量名中。先上个图:各配置项介绍:APPlyto:作用范围…

    2025年10月23日
    7
  • 线性代数学习笔记(三):矩阵的理解之— 矩阵的秩与行列式

    线性代数学习笔记(三):矩阵的理解之— 矩阵的秩与行列式线性代数之—线性空间及线性变换一、矩阵乘法矩阵乘法:m∗n的矩阵Am∗n乘以n∗k的矩阵Bn∗k得到新的矩阵C,是一个m∗k大小的矩阵。m*n的矩阵A_{m*n}乘以n*k的矩阵B_{n*k}得到新的矩阵C,是一个m*k大小的矩阵。m∗n的矩阵Am∗n​乘以n∗k的矩阵Bn∗k​得到新的矩阵C,是一个m∗k大小的矩阵。Cij=∑a=1nAia∗BajC_{ij}=\displays…

    2022年5月23日
    78

发表回复

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

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