JSON
2018-10-10 本文已影响4人
宋song一
JSON : JavaScript Object Notation,首选的数据交换格式
1. json数据格式
- 对象格式
{"key":"value" , "key":"value",...}
键值要使用冒号分隔 。
- 数组格式
[obj , obj , obj ...] , 这个obj 可以是一些简单的字符串,也可以是一个大括号形式存在的对象格式。
如: ["aa","bb","cc"] 或者是 [{"name":"zhangsan"},{"name":"lisi"},{"name":"wangwu"}]
2. 解析json
1. html解析
//1. json对象
var user = {
"username":"aobama",
"password":"1234"
}
alert(user.username) ; //通过key获取json数据
//2. json数组
var arr = ["jack" , "rose" , "tom"];
alert(arr[1]);
//3. 综合演练
var data = [
{"id":1 , "name":"iphoen8","price":5999},
{"id":2 , "name":"xiaomi5","price":1999},
{"id":3 , "name":"vivo7","price":3999},
]
alert(data[1].name)
2. 后台解析
后台解析,需要jar包, 一般常用的有
jsonlib
或者gson
(Google) 或者fastjson
(Ali). Spring自带的Jackson
- 导入依赖
compile group: 'com.google.code.gson', name: 'gson', version: '2.2.4'
- 生成 | 解析json
User user = new User();
user.setUsername("aa");
user.setPassword("123");
Gson gson =new Gson();
//对象到json
String json = gson.toJson(user);
//json到对象
User u = gson.fromJson(json , User.class);
System.out.println("u=" + u);
gson转换:
javascript:
JSON.stringify(对象)
JSON.parse(字符串)
java:
new GSON().toJson(对象)
new GSON().fromJson("字符串")
jackson 转换:
需通过new ObjectMapper()
objectMapper.writeValueAsString(): json对象转为字符串
读取json文件并保存到list集合中(账本)
ObjectMapper objectMapper = new ObjectMapper();
JavaType javaType = objectMapper.getTypeFactory().constructParametricType(ArrayList.class, String.class);
list = objectMapper.readValue(file, javaType);