json格式的字符串和json对象(JSON格式的JavaScript对象)的转换

目录

1.json对象(JSON格式的JavaScript对象)

2.json格式的字符串

3.两者的相互转换

3.1运行代码结果

3.2运行代码结果


1.json对象(JSON格式的JavaScript对象)

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON格式的数据,主要是为了跨平台交流数据用的。   

但JSON和JavaScript确实存在渊源,可以说这种数据格式是从JavaScript对象中演变出来的,它是JavaScript的一个子集。JSON本身的意思就是JavaScript对象表示法(JavaScript Object Notation),它用严格的JavaScript对象表示法来表示结构化的数据。   

它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号;   

JSON只是一种数据格式(或者叫数据形式),数据格式其实就是一种规范,格式、形式、规范是不能用来存诸数据的。我们不能把以下的对象叫JSON,比如:

//js对象的字面量表示法: 
var people1={ 
    name:'hehe', 
    age:18 
}; 
//json的格式是: 
var people1={ 
    "name":'hehe', 
    "age":18 
}; 

//上面代码是json对象(其实json不是对象)和js对象的字面量表示法




<script>
var obj2={};//这只是JS对象
var obj3={width:100,height:200};/*这跟JSON就更不沾边了,只是JS的对象 */
var obj4={'width':100,'height':200};/*这跟JSON就更不沾边了,只是JS的对象 */
var obj5={"width":100,"height":200,"name":"rose"}; 
/*我们可以把这个称做:JSON格式的JavaScript对象 */
</script>

2.json格式的字符串

<script>
var b='{"name":"2323","sex":"afasdf","age":"6262"}';//json字符串
 console.log(b);//{"name":"2323","sex":"afasdf","age":"6262"}
 console.log(typeof(b));//string
</script>

字符串,我们常说的javascript中的字符串是单引号或者双引号引起来的。那么json字符串是什么概念呢?

  以上就是b就是一个字符串,也是一个json字符串,之所以叫json字符串,因为字符串的格式符合json的格式,所以叫做json字符串,第三行代码也匹配其中的类型为string。

3.两者的相互转换

3.1运行代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>json test2</title>
</head>
<body>
<!--从后端java程序中响应回来的是json格式的字符串,那么你怎么把json格式的字符串转换成json对象呢?-->
<script type="text/javascript">

    // 这是一个json对象【JSON格式的JavaScript对象???】
    var user = {
        "username" : "zhangsan",
        "password" : "123456"
    }
   

    console.log(user)
    console.log(user.username);
    console.log(typeof user);
    console.log("***********************上面是json对象**********************************")


    var userStr=JSON.stringify(user);
    console.log(userStr)
    console.log(userStr.name);
    console.log(typeof userStr);
    console.log("*********************上面是通过JSON.stringify()转换的json格式的字符串*******************************")


    // 从服务器端返回来的不是一个json对象,是一个json格式的字符串
    var jsonStr = '{"usercode" : "jjj", "age" : "kkk"}'
    console.log(jsonStr)
    console.log(jsonStr.usercode);
    console.log(typeof jsonStr);
    console.log("***********************上面是json格式的字符串********************************")


    // 有两种方式:
    // 第一种方式:使用eval函数。(这个以前在javascript语言中讲过,这里就不再说了。)
    // 第二种方式:调用javascript语言中的内置对象JSON的一个方法parse。
    var jsonobj = JSON.parse(jsonStr)
    console.log(jsonobj)
    console.log(jsonobj.usercode);
    console.log(typeof jsonobj);
    console.log("***********************上面通过JSON.parse()转换的json对象********************************")
 


</script>
</body>
</html>

3.2运行代码结果

个人对json对象理解还不是很透彻,有啥好的文章内容帮助理解的,评论区请评论。

欢迎大家指点讨论~

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值