Json字符串转json是制定字段不转换(json字符串转json对象java)

Json字符串转json是制定字段不转换(json字符串转json对象java)在开发中经常需要将 json 字符串转换为 java 对象或者 list 数组 这样方便我们来使用这些数据 下面就来介绍一下怎样将 json 字符串和转换为 Java 对象或者 list 数组 本次使用阿里巴巴的 fastjson 来解析 json 字符串 需要添加依赖 在大括号 中书写 包含多个 key value 键 值 对 key 必须是字符串 value 可以是合法的 JSON 数据类型 字符串 数字 对象 数组 布尔值或 null 例如一个最简单的没有嵌套的 JSON 对象 name




在开发中经常需要将json字符串转换为java对象或者list数组,这样方便我们来使用这些数据,下面就来介绍一下怎样将json字符串和转换为Java对象或者list数组。

本次使用阿里巴巴的fastjson来解析json字符串,需要添加依赖:


在大括号 {…} 中书写,包含多个 key/value(键/值)对,key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)
例如一个最简单的没有嵌套的JSON对象:
{ “name”:“Sun”, “age”:18, “site”:null }

书写格式和JSON对象一样,不过类型属于String,不能直接操作其中的各个属性,需要对其进行转换。在很多前后端交互传值之类的,都以json字符串的形式进行传递。,所以对json字符串进行转换非常有必要。

JSON 数组在中括号中书写,JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
简单的JSON数组:
[ “Google”, “Runoob”, “Taobao” ]

复杂的是json字符串里面嵌套json数组,这也是转换的重点,例如:
{
“student”: [
{
“name”: “Tom”,
“Grade”: 1,
“age”: 11,
“gender”: “M”
},
{
“name”: “Jerry”,
“Grade”: 1,
“age”: 10,
“gender”: “M”
}
],
“classroom”: {
“class1”: “room1”,
“class2”: “room2”
}
}
在这里插入图片描述

在这里推荐几个比较好用的json字符串校验和格式化的网站:
链接: http://www.kjson.com/
链接: https://www.bejson.com/

转换语句:

示例:解析如下json字符串
{
“name”: “Tom”,
“Grade”: 1,
“age”: 11,
“gender”: “M”
}
在这里插入图片描述

执行结果:
在这里插入图片描述

使用语句:

示例:

[
{
“name”: “Tom”,
“Grade”: 1,
“age”: 11,
“gender”: “M”
},
{
“name”: “Jerry”,
“Grade”: 1,
“age”: 10,
“gender”: “M”
}
]
在这里插入图片描述

首先创建一个对应的java对象:

运行结果:
在这里插入图片描述

4.3.1 示例1

使用语句:
为4.1和4.2的嵌套使用

示例:
{
“student”: [
{
“name”: “Tom”,
“Grade”: 1,
“age”: 11,
“gender”: “M”
},
{
“name”: “Jerry”,
“Grade”: 1,
“age”: 10,
“gender”: “M”
}
],
“classroom”: {
“class1”: “fifth floor”,
“class2”: “seventh floor”
}
}
在这里插入图片描述

首先创建对应的java对象,上面的Student对象可以重复使用,这里需要再添加两个对象,一个整体的包含Student和Classroom的对象School ,一个Classroom对象:

进行转换:

运行结果:
在这里插入图片描述

4.3.2 示例2

使用语句:
在4.3.1的基础上新增了两个字段:schoolName和address。Student对象和Classroom对象可以使用,需要重新创建一个整体的对象HighSchool

示例:
{
“schoolName”: “ECNU”,
“address”: “Road”,
“student”: [{
“name”: “Tom”,
“Grade”: 1,
“age”: 11,
“gender”: “M”
},
{
“name”: “Jerry”,
“Grade”: 1,
“age”: 10,
“gender”: “M”
}
],
“classroom”: {
“class1”: “fifth floor”,
“class2”: “seventh floor”
}
}
在这里插入图片描述

首先创建对应的java对象,上面的Student对象可以重复使用,这里需要再添加两个对象,一个整体的包含Student和Classroom的对象,一个Classroom对象:

进行转换:

运行结果:
在这里插入图片描述


转换大体上分为两种:
1、以{……}大括号包裹的数据要转换为java对象;
2、 以[ ] 中括号包裹的数据转换为list数组。

首先要明白,以 { } 开头的是JSONObject,以 [ ] 开头的是JSONArray,如果本身就是json字符串的格式(即格式类型为String),那就不用转换,直接使用转换方法进行转换。

但是如果是嵌套字符串的话,从第一次转换后的java对象中取出来的是Object类型,这时候需要先用toString方法转换为String类型,然后再调用方法。

编程小号
上一篇 2025-02-09 07:17
下一篇 2025-02-28 13:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/37362.html