Java中如何对Json格式的数据进行处理呢?
下文笔者讲述java代码对json数据的处理方法分享,如下所示
将json字符串
3.json字符串
4.不同实体类之间
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;
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。