简介
JavaScript Object Notation(JavaScript对象表示)是一种数据交换格式,由字符串化的键值对构成。JSON是JavaScript 的子集,也是独立于编程语言的数据格式,几乎所有主流的编程语言都能解析JSON或者将数据字符串化为JSON。
轻量级数据交换格式(小体积,传输更省劲)
数据交换方便:不同语言之间互相通信
javascript中JSON是作为对象的形式存在的,JSON是一个无类型的对象,直接用大括号“包起来”即可
格式
json { "name":"和平", "info":"和平来自什么" }
数组格式
{ "name":"老师", "age":18, "pengyou":["张三","李四","王二","麻子",{ "name":"野马老师", "info":"像匹野马一样狂奔在技术钻研的道路上" }], "heihei":{ "name":"大长刀", "length":"40m" } }
java与json
java内置没有json解析的内容,现在用的最多的开源库就是谷歌的Gson和阿里巴巴的FastJson,使用方法都是将对应的jar包引入项目,而后使用。
Gson
将对象转换为json字符串
转换JSON字符串的步骤: 1. 引入JAR包 2. 在需要转换JSON字符串的位置编写如下代码即可: String json = new Gson().toJSON(要转换的对象); 案例: Book b = BookDao.find(); String json = new Gson().toJson(b); System.out.println(json);
将json字符串转换为对象
1. 引入JAR包 2. 在需要转换Java对象的位置, 编写如下代码: 对象 = new Gson().fromJson(JSON字符串,对象类型.class); 案例: String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"李伟杰 \",\"info\":\"嘿嘿嘿嘿嘿嘿\",\"price\":198.0}"; Book book = new Gson().fromJson(json, Book.class); System.out.println(book);
FastJson
将对象转换为json字符串
转换JSON字符串的步骤: 1. 引入JAR包 2. 在需要转换JSON字符串的位置编写如下代码即可: String json=JSON.toJSONString(要转换的对象);//静态不用new 案例: Book b = BookDao.find(); String json=JSON.toJSONString(b); System.out.println(json);
将json字符串转换为对象
1. 引入JAR包 2. 在需要转换Java对象的位置, 编写如下代码: 类型 对象名=JSON.parseObject(JSON字符串, 类型.class); 或 List<类型> list=JSON.parseArray(JSON字符串,类型.class); 案例: String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"李伟杰 \",\"info\":\"嘿嘿嘿嘿嘿嘿\",\"price\":198.0}"; Book book = JSON.parseObject(json, Book.class); System.out.println(book);