Json字符串转成对象

简介: Json字符串转成对象

Json字符串转成对象

Hello吖😊,我是孤音(一个你理解不了的程序猿),今天来分享一个小技巧,能够大大滴提高效率额

问题😵

接收到一串JSON格式的字符串,需要获取其中某些字段的值

思路🤪

我们使用阿里巴巴的fastjson,就能够快速的解决这个问题呢😀

步骤😏

首先引入依赖,引入FastJson的依赖(下面会给出的),我这里用了Lombok插件,还需要引入LomBok的依赖

依赖引完后就可以开始编写代码了,下面我给了参考的Demo,大家参照那个逻辑就可以解决遇到的类似的问题啦😁

需要引的依赖

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.54</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.20</version>
            <scope>compile</scope>
        </dependency>

参考Demo

import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.io.Serializable;
@Slf4j
public class JsonTest {
    public static void main(String[] args) {
        /**
         * 解析json字符串为JSON对象,用到的是  阿里巴巴的fastjson,需要引依赖的额
         */
        /*
         * json字符串
         {
                "name": "tcx",
                "age": "20",
                "sex": "boy",
                "moreInfo": { "hobby": "编程" }
         }
         */
        String s = "{\n" +
                "        \"name\": \"tcx\",\n" +
                "        \"age\": \"20\",\n" +
                "        \"sex\": \"boy\",\n" +
                "        \"moreInfo\": {\n" +
                "                \"hobby\": \"编程\"\n" +
                "        }\n" +
                "}";
        //解析成JSONObject对象
        JSONObject jsonObject = JSONObject.parseObject(s);
        // 获取jsonObject中的moreInfo字段的内容,并将其转换成JSONObject对象(为了能够取出里面的内容)
        JSONObject data = JSONObject.parseObject(jsonObject.getString("moreInfo"));
        //取出其中的内容
        String hobby = data.getString("hobby");
        System.out.println("hobby = " + hobby);
        System.out.println("========================");
        //下面呢,是通过对象去接收的
        Person person = JSONObject.parseObject(s, Person.class);
        System.out.println(person);
    }
}
@Data
@NoArgsConstructor
@AllArgsConstructor
class Person implements Serializable {
    private String name;
    private String age;
    private String sex;
    private MoreInfo moreInfo;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
class MoreInfo implements Serializable{
    private String hobby;
}

另外也放张运行结果的图嘛


相关文章
|
12天前
|
存储 JSON 测试技术
python中json和类对象的相互转化
针对python中类对象和json的相关转化问题, 本文介绍了4种方式,涉及了三个非常强大的python库jsonpickle、attrs和cattrs、pydantic,但是这些库的功能并未涉及太深。在工作中,遇到实际的问题时,可以根据这几种方法,灵活选取。 再回到结构化测试数据的构造,当需要对数据进行建模时,也就是赋予数据业务含义,pydantic应该是首选,目前(2024.7.1)来看,pydantic的生态非常活跃,各种基于pydantic的工具也非常多,建议尝试。
|
17天前
|
JSON Java fastjson
老程序员分享:java对象转json
老程序员分享:java对象转json
23 3
|
21天前
|
Web App开发 JSON JavaScript
JavaScript对象常用操作JSON总结
JavaScript对象常用操作JSON总结
22 8
|
22天前
|
JSON Java 数据格式
Java中创建Json对象的方法和详细代码
Java中创建Json对象的方法和详细代码
24 1
|
11天前
|
JSON 数据格式
Unsupported Media Type,传入的字符串数据:这里应该是Json
Unsupported Media Type,传入的字符串数据:这里应该是Json
|
11天前
|
JSON 数据格式
Navicate数据报错之Bad Request,发送端口测试的时候,使用JSON字符串,而不是Text
Navicate数据报错之Bad Request,发送端口测试的时候,使用JSON字符串,而不是Text
|
11天前
|
JSON Java 数据格式
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
|
17天前
|
JSON 运维 Serverless
函数计算产品使用问题之无法返回JSON对象,一般是什么导致的
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
17天前
|
JSON 数据格式
|
18天前
|
JSON 前端开发 JavaScript
程序员必知:字符串转换成JSON的三种方式
程序员必知:字符串转换成JSON的三种方式