JSON数据格式转化

本文探讨了JSON作为数据交换格式的基本结构,包括对象和数组,并详细解释了JSON数据在名称/值对中的表现形式。重点讲述了JSON字符串与JSON对象之间的转化过程,包括字符串转对象的三种方法和对象转字符串的两种方法,对于前后端数据交互具有实践指导意义。

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

前两天写一个程序发现自己对JSON数据格式理解的不是很透彻,所以记录写一篇博客梳理一下知识点。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时它也是JavaScript 原生格式。

在JSON中,有两种结构:对象和数组。大括号保存对象,中括号保存数组
JSON数据保存在名称/值对中,名称为字符串,值可以是:数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true 或 false)、数组(在中括号中)、对象(在大括号中)、null

例如Json对象:

{"name":"张三" , "age":12,"marriage":true,"education":["襄阳一中","武汉大学","清华大学"] }

Json数组

["编号1",{"name":"张三","age":12},"天津大学"]

下面主要介绍一下Json字符串与Json对象的转化,在数据传输流程中,Json是以文本,即字符串的形式传递的,例如前台向后台传递的是字符串,而前台JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。

Json字符串:

var str1 = '{ "name": "cxh", "sex": "man" }'; 

Json对象:

var str2 = { "name": "cxh", "sex": "man" }; 

JSON字符串转换为JSON对象(3种方法):

var obj = eval('(' + str1 + ')'); 
var obj = str1.parseJSON();
var obj = JSON.parse(str1);

后台传给前台的Json字符串通过转化成Json对象后,就可以在前台通过JS操作了,例如

alert(obj.name); 
document.getElementById("name").innerHTML=obj.name ;

JSON对象转换为JSON字符串(2种方法):

var str=str2.toJSONString(); 
var str=JSON.stringify(str2);

例如

<script type="text/javascript">
    function requestJson() {
        var jsonUser = JSON.stringify({//Json对象
            "username" : "张三丰",
            "age" : "111",
            "address" : "武汉"
        });
        $.ajax({
            type : 'post',
            url : '${pageContext.request.contextPath }/user/requestJson.do',//发送给后台函数
            contentType : 'application/json;charset=utf-8',//向服务器发送数据的类型,发送是是Json字符串
            data : jsonUser,
            success : function(data) {//返回的data是Json字符串
                var obj=eval(data);//转化为Json对象
                document.getElementById("name").innerHTML=obj.username; //js操纵
            }
        });
    }
</script>
姓名:<span id="name"></span><br/><br/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值