第四部分 第十三章 2.JSON
条评论13.2 JSON
13.2.1 概念
JavaScript Object Notation===>JavaScript对象表示法
1 | Person p = new Person(); |
- json现在多用于存储和交换文本信息的语法
- 进行数据的传输
- JSON 比 XML 更小、更快,更易解析。
13.2.2 语法
基本规则
- 数据在名称/值对中:json数据是由键值对构成的
- 键用引号(单双都行)引起来,也可以不使用引号
- 值得取值类型:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
{"persons":[{},{}]}
- 对象(在花括号中)
{"address":{"province":"陕西"....}}
- null
- 数据由逗号分隔:多个键值对由逗号分隔
- 花括号保存对象:使用
{}
定义json 格式 - 方括号保存数组:
[]
获取数据
- json对象.键名
- json对象[“键名”]
- 数组对象[索引]
- 遍历
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20//1.定义基本格式
var person = {"name": "张三", age: 23, 'gender': true};
var ps = [{"name": "张三", "age": 23, "gender": true},
{"name": "李四", "age": 24, "gender": true},
{"name": "王五", "age": 25, "gender": false}];
//获取person对象中所有的键和值
/** //for in 循环
* for(var key in person){
* //这样的方式获取不行。因为相当于 person."name"
* //alert(key + ":" + person.key);
* alert(key+":"+person[key]);
* }
*/
//获取ps中的所有值
for (var i = 0; i < ps.length; i++) {
var p = ps[i];
for(var key in p){
alert(key+":"+p[key]);
}
}
13.2.3 JSON数据和Java对象的相互转换
- JSON解析器:
- 常见的解析器:
Jsonlib
,Gson
,fastjson
,jackson
- 常见的解析器:
JSON转为Java对象
- 导入jackson的相关jar包
- 创建Jackson核心对象 ObjectMapper
- 调用ObjectMapper的相关方法进行转换
- readValue(json字符串数据,Class)
Java对象转换JSON
使用步骤:
- 导入jackson的相关jar包
- 创建Jackson核心对象 ObjectMapper
- 调用ObjectMapper的相关方法进行转换
转换方法:
writeValue(参数1,obj)
参数1:
File
:将obj对象转换为JSON字符串,并保存到指定的文件中Writer
:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中OutputStream
:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
writeValueAsString(obj)
:将对象转为json字符串
注解:
@JsonIgnore
:排除属性。@JsonFormat
:属性值得格式化1
"yyyy-MM-dd") (pattern =
复杂java对象转换
List
:数组Map
:对象格式一致
本文标题:第四部分 第十三章 2.JSON
文章作者:foreverSFJ
发布时间:2019-08-28 10:25:40
最后更新:2019-08-28 10:25:40
原始链接:Notes/Java/JavaWeb/13_2 JSON.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!
分享