JSON基础

本文详细介绍了JSON(JavaScript Object Notation),包括其基本概念、语法结构以及如何在JavaScript中操作JSON对象。此外,还讨论了JSON在数据传输中的作用,指出其相比XML的优势。文章进一步阐述了JSON数据与Java对象之间的转换,提到了Jackson库作为解析器进行转换的方法和步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.概念:JavaScript Object Notation

JavaScript对象表示法
Person p=new Person();
p.setName(“张三”);
p.setAge(23);
p.setGender(“男”);

var p={“name”:"张三,“age”:23,“gender”:“男”};
*JSON现在多用于存储和交换文本信息的语法
*进行数据的传输,类似于XML
*JSON比XML更小更快更易解析。

2.语法:

1.基本规则
数据在名称/值对中:json数据是由键值对构成的
*键用引号(单双都行)引起来,也可以不使用引号
*值的取值类型:
1.数字(整数或浮点数)
2.字符串(在双引号中)
3.逻辑值(true或false)
4.数组(在方括号中) {“person”:[{},{}]}
5.对象(在花括号中 ) {“address”:{“province”:“陕西”…}}
6.null
数据由逗号分隔:多个键值对用逗号分隔
花括号保存对象:使用{ }定义json格式
方括号保存数组:[ ]
2.获取数据
(1)json对象.键名
(2)jason对象[“键名”]
(3)数组对象[索引]

        var person={"name":"张三","age":23,"gender":true};


        //3.嵌套格式  []-->{}
        var ps=[{"name":"张三","age":23,"gender":true},
            {"name":"李四","age":24,"gender":true},
            {"name":"王五","age":25,"gender":true}]
      //获取person对象中所有的键和值
        //for in循环
        for (var key in person){
            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])
           }
        }

3.JSON数据和Java对象的相互转换

*JSON解析器
常见的解析器:Jsonlib,Gson,fastjson,jackson
1.JSON转为Java对象

2.Java对象转换JSON
*使用步骤
1.导入jackson的相关jar包
2.创建jackson核心对象objectMapper
3.调用objectMapper的相关方法进行转换
(1)*转换方法:
writeValue(参数1,obj);
参数1:
File:将obj转化为JSON字符串,并保存到指定文件中
Writer:将obj转化为JSON字符串,并将json数据填充到字符输出流中
OutputStream:将obj转化为JSON字符串,并将json数据填充到字节输出流中
writeValueAsString(obj):讲对象转为json字符串
(2)注解:
1.@JsonIgnore:排除属性
2.@JsonFormat:属性值的格式化
(3)复杂java对象转换
1.List:数组
2.Map:对象格式一致

3.JSON对象转换Java
*使用步骤
1.导入jackson的相关jar包
2.创建jackson核心对象objectMapper
3.调用objectMapper的相关方法进行转换
(1)readValue(json字符串数据,Class)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值