快捷搜索:  汽车  科技

多条json组成的数据如何反序列化,JSON序列化和反序列化

多条json组成的数据如何反序列化,JSON序列化和反序列化FastJson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JAVA Bean序列化为JSON字符串,也可以将JSON字符串反序列化到Java Bean。是一种json转换工具{ "userccount":"admin" "password":"123456" }三、FastJson介绍json的数据本身是数组,中括号包裹,数组的元素之间逗号分开,数组元素的数据类型没有限制[{ "userccount":"admin" "password":"123456" } { "userccount":"zhangsan"

一、什么是json?

JSON是一种轻量级的数据交换格式。

二、json数据格式

2.1 JSON数组格式

json的数据本身是数组,中括号包裹,数组的元素之间逗号分开,数组元素的数据类型没有限制

多条json组成的数据如何反序列化,JSON序列化和反序列化(1)

[{ "userccount":"admin" "password":"123456" } { "userccount":"zhangsan" "password":"123456" }]

2.2 JSON对象格式

json的数据本身是对象,大括号包裹,对象采用键值对形式存储,键固定为字符串类型,值是任意类型的数据,键和值使用冒号分开。

多条json组成的数据如何反序列化,JSON序列化和反序列化(2)

{ "userccount":"admin" "password":"123456" }

三、FastJson介绍

FastJson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JAVA Bean序列化为JSON字符串,也可以将JSON字符串反序列化到Java Bean。是一种json转换工具

序列化(JAVA对象转换为JSON格式字符串):

3.1 JAVA对象转换为JSON字符串

多条json组成的数据如何反序列化,JSON序列化和反序列化(3)

//准备一个JAVA对象 @Data public class Student { private Integer id; private String name; private Integer age; } //JAVA对象转为JSON格式字符串 public static void main(String[] args) { //JAVA对象 Student student = new Student(); student.setId(1); student.setName("张三"); student.setAge(20); //转换为JSON格式字符串 String jsonString = JSON.toJSONString(student); System.out.println(jsonString); } 打印: {"age":20 "id":1 "name":"张三"}

3.2 List集合转换为JSON字符串

多条json组成的数据如何反序列化,JSON序列化和反序列化(4)

public static void main(String[] args) { //定义一个list List<Student> list=new ArrayList<>(); Student student = new Student(); student.setId(1); student.setName("张三"); student.setAge(20); Student student2 = new Student(); student2.setId(2); student2.setName("李四"); student2.setAge(22); list.add(student); list.add(student2); //转换为 String jsonString = JSON.toJSONString(list); System.out.println(jsonString); } 打印: [{"age":20 "id":1 "name":"张三"} {"age":22 "id":2 "name":"李四"}]

3.3 MAP集合转换为JSON字符串

多条json组成的数据如何反序列化,JSON序列化和反序列化(5)

public static void main(String[] args) { //定义一个Map Map<String Student> map=new HashMap<>(); List<Student> list=new ArrayList<>(); Student student = new Student(); student.setId(1); student.setName("张三"); student.setAge(20); Student student2 = new Student(); student2.setId(2); student2.setName("李四"); student2.setAge(22); map.put("student" student); map.put("student2" student2); //转换为 String jsonString = JSON.toJSONString(map); System.out.println(jsonString); } 打印: {"student":{"age":20 "id":1 "name":"张三"} "student2":{"age":22 "id":2 "name":"李四"}}

反序列化(JSON格式字符串转换为JAVA对象):

3.4 JSON字符串转换为JAVA对象

多条json组成的数据如何反序列化,JSON序列化和反序列化(6)

public static void main(String[] args) { String jsonstring="{\"age\":20 \"id\":1 \"name\":\"张三\"}"; Student student= JSON.parseObject(jsonstring Student.class); System.out.println(student); } 打印: Student(id=1 name=张三 age=20)

3.5 JSON字符串转换为List集合

多条json组成的数据如何反序列化,JSON序列化和反序列化(7)

public static void main(String[] args) { String jsonstring="[{\"age\":20 \"id\":1 \"name\":\"张三\"} {\"age\":22 \"id\":2 \"name\":\"李四\"}]"; List<Student> students = JSON.parseArray(jsonstring Student.class); for(Student student:students){ System.out.println(student); } } 打印: Student(id=1 name=张三 age=20) Student(id=2 name=李四 age=22)

3.6 JSON字符串转换为MAP集合

多条json组成的数据如何反序列化,JSON序列化和反序列化(8)

public static void main(String[] args) { //定义1个json字符串 String jsonstring="{\"student\":{\"age\":20 \"id\":1 \"name\":\"张三\"} \"student2\":{\"age\":22 \"id\":2 \"name\":\"李四\"}}"; //直接进行反序列化,Map集合没有泛型,泛型没有是不安全的集合 //Map map=JSON.parseObject(jsonstring); //转后的集合,必须有泛型 //调用parseObject,传递参数,TypeReference类型,在TypeReference类的泛型中,传递转后的Map集合 Map<String Student > map=JSON.parseObject(jsonstring new TypeReference<Map<String Student>>(){}); for(String key:map.keySet()){ System.out.println(map.get(key)); } } 打印: Student(id=1 name=张三 age=20) Student(id=2 name=李四 age=22)

猜您喜欢: