在具体的操作中,我发现前辈们非常喜欢使用JSON,前后端数据在传输数据的时候使用的也是JSON数据类型为多,那么我就非常好奇为什么要使用Object的对象。
原因
- JSON数据清晰
- JSON有很多工具类支持他的转换
- JSON在所有主流浏览器有很好的支持
- JSON在传输的时候数据量更小
- JSON在JS中占据优势
JSON中的序列化和反序列化
从JSONBean转为JSON的时候就是序列化的操作
从JSON转为JSONBean的时候就是反序列化的操作
序列化:JSON.toJSONSting()
反序列化:JSON.parseObject()
String、toJSONString输出对象的区别
代码:
public class JSONTest {
public static void main(String[] args){
toJsonString();
}
public static void toJsonString() {
User user = new User();
user.setId("testFastJson001");
user.setName("mss1");
user.setAge(22);
String text1 = JSON.toJSONString(user);
String text2 = String.valueOf(user);
System.out.println("对象转String"+text2);
System.out.println("toJsonString()方法:text="+text1);
}
}
结果:
不难发现,对象直接转String的值是“()”的格式。
而对象转为JSON.toJSON的格式的值是"{}"的格式。
JSON.toJSONString与JSONObject.toJSONString区别
二者获取到的值是没有区别的
只不过:
JSONObject.toJSONString是调用了父类中的方法,所以二者没有区别