002-EE-0011-json

本文详细介绍了JSON数据格式的基础概念,包括其两种主要形式——对象格式和数组格式,并讲解了如何在JavaScript中操作JSON数据,以及如何实现JSON字符串与JS对象之间的相互转换。此外,还涉及了Java对象转换为JSON字符串的方法及SpringMVC框架中JSON数据的交互。

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

JSON
    * JavaScript Object Notation
    * JS对象标记,是js的原生内容
    * 一种与语言无关的数据交换的格式
    
json有两种格式:
    * 对象格式:{"key1":obj,"key2":obj,"key3":obj...}
    * 数组/集合格式:[obj,obj,obj...]
    
JSON 数据的书写格式是:"键"/值对
    * 键:必须包在双引号中,后面是一个冒号,然后是值
    * 值:值可以取以下值        
        * 数字(整数或浮点数)
        * 字符串(在双引号中)
        * 逻辑值(true 或 false)
        * 数组(在方括号中)
        * 对象(在花括号中,花括号外没有引号,花括号外有引号的叫符合Json语法的JavaScript字符串)
        * null
    
js中取出json对象的值
    * 对象格式取值
        * var j={"name":"刘亦菲","age":"25","gender":"女"};
        * var age=j.age;
    * 数组格式取值
        * var j=[{"name":"刘亦菲","age":"25","gender":"女"},{"name":"林允儿","age":"23","gender":"女"}];
        * var v=j[0].name;
    
java对象转换成json格式字符串
    * jsonlib
    * Gson
    * fastjson
    * java对象转json串时需要考虑排除死循环出现的可能
    
Json字符串与JS对象互转
    * Json字符串------>Json对象
        * 第一种:
            var obj = '{"firstName":"John","lastName":"Doe"}';
            var jsVar = eval("(" + obj + ")");
            alert(jsVar.firstName);
        * 第二种:
            var obj = '{"firstName":"John","lastName":"Doe"}';
            var jsVar = JSON.parse(obj);
            alert(jsVar.firstName);
    * Json对象------>Json字符串
        var obj={"firstName":"John","lastName":"Doe"};  
        var s=JSON.stringify(obj);//序列化对象,原本是一个对象,变成了string
            
springmvc中的Json交互
    * ajax可以发送json字符串到后台
    * 后端使用@RequestBody将请求转换成json数据
    * @RequestBody 用于将请求中的json参数封装到形参中
    * @ResponseBody 用于将返回的数据处理成json再返回

ajax模拟发送json字符串到后台
    var params = '{"id":1,"name":"测试商品","price":99.9,"detail":"测试商品描述","pic":"1.jpg"}';
    $.ajax({
        url:"${pageContext.request.contextPath }/json.action",
        data:params,
        contentType:"application/json;charset=UTF-8",
        type:"post",
        dataType:"json",
        success:function(data){
        }
    });
    
* 注意:
    * 通过ajax发送json字符串不能使用$.post && $.get
    * 因为这两种方式没有发送数据格式,只有返回数据格式,把params放在data处报错
    * 上面例子中的params是一个json字符串,里面key用双引号,外面用单引号,这是json规定,否则报错



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值