Java中如何对Json格式的数据进行处理呢?

欣喜 Java经验 发布时间:2025-03-19 14:11:29 阅读数:6660 1
下文笔者讲述java代码对json数据的处理方法分享,如下所示
json数据处理的实现思路:
    1.引入相应的依赖报  fastjson 
	2.使用 fastjson中相应的方法 即可实现json的解析和反解析操作

引入依赖包

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

将一个实体类变成JSON字符串

    //实体类
    public class Person {
        private String name;
        private int age;
        private String address;
     
        // 构造函数、getter 和 setter 方法
        public Person(String name, int age, String address) {
            this.name = name;
            this.age = age;
            this.address = address;
        }
     
        // getter 和 setter 方法...
    }
     
    //用例
    public static void main(String[] args) {
        Person person = new Person("maomao", 30, "123 Main St.");
     
        // 将 Person 对象转换为 JSON 字符串
        String jsonString = JSON.toJSONString(person);
     
        System.out.println(jsonString);
    }
输出信息
{"address":"123 Main St.","age":30,"name":"maomao"}

将json字符串
转化成对应java实体类

        public static void main(String[] args) {
            String jsonString = "{\"name\":\"maomao\",\"age\":30,\"address\":\"123 Main St.\"}";
     
            // 将 JSON 字符串转换为 Person 对象
            Person person = JSON.parseObject(jsonString, Person.class);
     
            System.out.println("Name: " + person.getName());
            System.out.println("Age: " + person.getAge());
            System.out.println("Address: " + person.getAddress());
        }
================================
    String jsonString = "{\"name\":\"maomao\",\"age\":30,\"address\":{\"street\":\"123 Main St.\",\"city\":\"New York\"}}";
    JSONObject jsonObject = JSON.parseObject(jsonString);
     
    String name = jsonObject.getString("name");
    int age = jsonObject.getIntValue("age");
    JSONObject addressObject = jsonObject.getJSONObject("address");
    String street = addressObject.getString("street");
    String city = addressObject.getString("city");

3.json字符串
转化为对应实体类list

    public static void main(String[] args) {
            String jsonString = "[{\"name\":\"maomao\",\"age\":30,\"address\":\"123 Main St.\"},{\"name\":\"Jane\",\"age\":25,\"address\":\"456 Oak Ave.\"}]";
     
            // 将 JSON 字符串转换为 Person 对象列表
            List<Person> personList = JSON.parseObject(jsonString, new TypeReference<List<Person>>() {});
     
            for (Person person : personList) {
                System.out.println("Name: " + person.getName());
                System.out.println("Age: " + person.getAge());
                System.out.println("Address: " + person.getAddress());
                System.out.println();
            }
    }
	

4.不同实体类之间
通过json实现相同属性的数据传递

    public class SourceEntity {
        private String name;
        private int age;
     
        // Getters and setters
    }
     
    public class TargetEntity {
        private String name;
        private int age;
        private String extraInfo; // 多出的属性
        private boolean active;   // 多出的属性
     
        // Getters and setters
    }
     
     
     
    //将SourceEntity转换为JSON字符串:
    SourceEntity source = new SourceEntity();
    source.setName("maomao");
    source.setAge(30);
    String jsonString = JSON.toJSONString(source);
     
    //将JSON字符串转换为TargetEntity对象:
    TargetEntity target = JSON.parseObject(jsonString, TargetEntity.class);
  

5.后端接收前端json参数

后端使用@RequestBody 接收, 由于驼峰命名的特殊,实体类可能接收不到传过来的参数,

此时需要再实体类上加上

    @JsonProperty(value = "cityCode")//cityCode和请求报文中的字段保持一致
    private String cityCode;
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202503/17423654528379.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者