json
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了json,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2487字,纯文字阅读大概需要4分钟。
内容图文
![json](/upload/InfoBanner/zyjiaocheng/1188/d853b388c9484b808e38eb73a2d7e0dc.jpg)
1、概念:JavaScript Object Notation javascript对象表示法
例如:
Person p=new Person;
p.setName("张三");
p.setAge(23);
p.setGender("男");
用json表示如下 :
var p={"name":"张三","age":23,"gender","男"};
发现用json来表示对象特别简单方便。
现在用来存储和交换文本信息的语法,进行数据的传输,类似于XML。比XML更小、更快、更容易解析。
2、语法:
基本规则:
1):数据在名称/值对中
键用引号引起来,单双引号都可以,也可以不使用引号
值得取值类型:
数字:可以直接写
字符串:在双引号中
逻辑值:true或false
数组:放在括号中,可以嵌套
对象:放在花括号中,可以嵌套
null:非常少见
2):数据由逗号分隔
多个键值对由逗号分隔
3):花括号保存对象
使用{}定义json格式
4):方括号表示数组
[]用来表示数组
2.嵌套格式:
1){[]}
var persons={"persons":[{"name":"张三","age":23,"gender":"男"},{"name":"张二","age":23,"gender":"男"},{"name":"张五","age":23,"gender":"男"}]};
2)[{}]
var ps=[{"name":"张三","age":23,"gender":"男"},{"name":"张二","age":23,"gender":"男"},{"name":"张五","age":23,"gender":"男"}]
3、获取数据
1.json对象.键名
var p={"name":"张三","age":23,"gender","男"};
var name=p.name;
alert(name);
2.json对象["键名"]
var p={"name":"张三","age":23,"gender","男"};
var name=p["name"];
alert(name);
3.数组对象[索引]
1)
var persons={"persons":[{"name":"张三","age":23,"gender":"男"},{"name":"张二","age":23,"gender":"男"},{"name":"张五","age":23,"gender":"男"}]};
var name=persons.persons[2].name;
alert(name);
2)
var ps=[{"name":"张三","age":23,"gender":"男"},{"name":"张二","age":23,"gender":"男"},{"name":"张五","age":23,"gender":"男"}];
var name=ps[1].name;
alert(name);
4.json的遍历:
1)
var p={"name":"张三","age":23,"gender","男"};
for(var key in p){
alert(key+":"+person[key]);//注:不能用person.key 这相当于person."name".
}
2)
var ps=[{"name":"张三","age":23,"gender":"男"},{"name":"张二","age":23,"gender":"男"},{"name":"张五","age":23,"gender":"男"}];
for(var i=0;i<ps.length;i++){
var p=ps[i];
for(var key in p){
alert(key+":"+p[key]);
}
}
5、json数据和java对象的相互转换:json解析器:Jsonlib Gson fastjson jackson(spring mvc内置解析器)
1)json转为java对象(用得少)
使用步骤:
1、导入jackson的相关jar包:jackson-annotation-2.2.3.jar、jackson-core-2.2.3.jar、jackson-databind-2.2.3.jar
2、创建jackson核心独享 ObjectMapper
3、调用ObjectMapper的相关方法进行转换
转换方法:
readValue(json数据,class类型)
2)java对象转为json
使用步骤:
1、导入jackson的相关jar包:jackson-annotation-2.2.3.jar、jackson-core-2.2.3.jar、jackson-databind-2.2.3.jar
2、创建jackson核心独享 ObjectMapper
3、调用ObjectMapper的相关方法进行转换
转换方法:
writeValue(参数1,obj);
参数1:
File:将obj对象转换为json并写入到指定文件中
Writer:将obj对象转换为json并将json数据填充到字符输出流汇总
OutputStream:将obj对象转换为json并将json数据填充到字节输出流汇总
writeValueAsString():将对象转换为json字符串
注解:
1、@JsonIgnore:排除属性
2、@JsonFormat:属性值的格式化
如果想使用日期的时候会出现一堆数字,如果不想这样可以忽略对日期的转化,也可以格式化日期。在日期的定义行上面加入排除属性或者加入格式化在参数里面写入格式("yyyy-MM-dd")
6.复杂java对象转换
list和map使用方法一样,只是list结果格式为数组,map集合为无序
原文:https://www.cnblogs.com/tkg1314/p/12013524.html
内容总结
以上是互联网集市为您收集整理的json全部内容,希望文章能够帮你解决json所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。