2021年7月15日星期四

fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化

fastjson: json对象,json对象数组,javabean对象,json字符串之间的相互转化

在开发过程中,经常需要和前端交互数据,数据交互的格式都是JSON,在此过程中免不了json字符串与JSON对象互相转换,自己在这一方面的概念总是很混乱,最近看源码和博客,在此记录一下。注意:全程用的是fastjson

首先JSON有两种格式,一种是对象格式,一种是对象数组。

在JSON使用中主要的3个类:JSONJSONObjecJSONArray

其中JSONObjecJSONArray继承于JSON的。

JSON对象(JSONObject)

{"id":1,"name":"chen"}

JSON对象数组(JSONArray)

[ {"id":1,"name":"chen"}, {"id":2,"name":"张三"}]

下面直接进入正题:

Java Bean 和JSON字符串的互转

Java Bean 转 JSON字符串

Java Bean是指Java中的一个普通对象(实体类)例如:

public class Student{ private String name; // 姓名 private Integer age; // 年龄  public void setName(String name){  this.name = name; } public String getName(){  return name; } public void setAge(Integer age){  this.age = age; } public Integer getAge(){  return age; } @Override public String toString() {  return "Student{" + "name='" + name + '\'' + ", age=" + age + '}'; }}

使用JSON类的toJSONString()方法,实现JSON对象转化为JSON字符串和Java Bean对象转化为JSON字符串。仔细观察源码发现,该方法经过多次重载,但最终都是实现JSON对象转化为JSON字符串和Java Bean对象转化为JSON字符串。

@Testpublic void BeanToJSONTest(){ Student student = new Student(); student.setName("小明"); student.setAge(20);  String s1 = JSON.toJSONString(student); String s2 = JSONObject.toJSONString(student); String s3 = JSONArray.toJSOnString(student);  	System.out.println("s1: " + s1); System.out.println("s2: " + s2); System.out.println("s3: " + s3);}// 输出s1: {"age":20,"name":"小明"}s2: {"age":20,"name":"小明"}s3: {"age":20,"name":"小明"}

JSON.toJSONString()JSONObject.toJSONStringJSONArray.toJSOnString,上面说到JSONObjectJSONArray是继承JSON的,看JSONObjectJSONArray的源码并没有重写父类的toJSONString()的方法,而是直接使用父类的toJSONString方法,之前一直弄不明白,看了源码才知道。

JSON字符串 转 Java Bean

使用JSON类的parseObject()方法,实现JSON字符串转换为JSON对象或Java Bean对象。

@Testpub......

原文转载:http://www.shaoqun.com/a/880490.html

跨境电商:https://www.ikjzd.com/

epa认证:https://www.ikjzd.com/w/1769

海维:https://www.ikjzd.com/w/1891

ishare:https://www.ikjzd.com/w/2308


fastjson:json对象,json对象数组,javabean对象,json字符串之间的相互转化在开发过程中,经常需要和前端交互数据,数据交互的格式都是JSON,在此过程中免不了json字符串与JSON对象互相转换,自己在这一方面的概念总是很混乱,最近看源码和博客,在此记录一下。注意:全程用的是fastjson首先JSON有两种格式,一种是对象格式,一种是对象数组。在JSON使用中主要的3个类
新单:https://www.ikjzd.com/w/79
2021暑假福建省内旅游哪里好玩 暑假福建旅游最佳去处 :http://www.30bags.com/a/393390.html
2021暑假广东科学中心有什么活动?广州科学中心暑假活动介绍?:http://www.30bags.com/a/421504.html
2021暑假广东省内去哪里旅游好玩 广东暑假亲子游好去处:http://www.30bags.com/a/434888.html
2021暑假贵州旅游攻略 暑期贵州旅游最美最好玩路线:http://www.30bags.com/a/426740.html
男生强迫女生把震动棒放裤子里 在教室捡到校花遥控器:http://lady.shaoqun.com/a/246925.html
男朋友抱着我在教室做 他在她身上律动娇吟低喘:http://lady.shaoqun.com/m/a/248364.html
妇女上厕所正面尿尿 学校女厕所真实图片:http://www.30bags.com/m/a/249670.html
深圳泼水节是什么时候:http://www.30bags.com/a/504701.html
深圳泼水节门票多少钱:http://www.30bags.com/a/504702.html
深圳泼水节游玩攻略:http://www.30bags.com/a/504703.html
肇庆旅游景点大全 肇庆有什么好玩的景点推荐 :http://www.30bags.com/a/504704.html