对象和Json字符串之间的相互转换

对象和Json字符串之间的相互转换

											-----逆战班:加油!

** Json(JavaScript Object Notation) 是JavaScript编程语言的一个子集。同时Json也是一种字符,也是一种通用数据,前端和后端通用的数据。

JSON.parse 函数

将Json文本转换为对象。

Json.parse(text[, reviver])

参数:text 是必选项。要转换为对象的Json文本。
reviver 可选项。该参数是个替换函数。在转换中,遍历的每个节点,都将执行该函数,该函数的返回值将替代转换结果的相应节点值。

Json.stringify 函数
将对象转换为Json文本。

Json.stringify(value[, replacer[, space]])

space:可选项。格式化输出Json文本缩进的空格数量。如果不提供该参数将不会格式化输出。

参数reviver的委托类型
reviver(key, value):reviver函数的中的this是当前所遍历到的节点的父节点。当所遍历的是根节点的时候,父节点是个Object对象,根节点是该对象的一个属性,属性名是空字符串。

参数
key:当父节点是数组Object,key为数组索引,否则key为Object属性名。
value:节点值。

1.对象转Json字符串:
对象转json的过程中,若对象身上有不符合Json规则的内容,但是符合js对象自身的规则,那么,不符合Json的内容,有可能不被Json识别,或错误转换。

> 有多余的逗号会被忽略,函数被忽略,undefined被忽略,nan被转换为null,null本身被转换为null。

    var obj = {
        name:"admin",
        age:18,
        sex:"男",
        show:function(){},
        a:undefined,
        b:NaN,
        c:null,
    }
    console.log(obj);

    console.log(typeof obj);

    var str = JSON.stringify(obj);
    // 因为json不识别函数,undefined,NaN,所以在强行转换之后,函数和undefined会被忽略,NaN被转成null
    console.log(str);
   console.log(typeof str);

2.Json字符串转对象:

var str = ‘{“name”:“admin”,“age”:16,“sex”:null}’;

    console.log(typeof str);
    输出:// string
    console.log(str);
	输出:// {"name":"admin","age":16,"sex":null}

var obj = Json.parse(str);

    console.log(typeof obj);
	输出:// object
	
    console.log(obj); 
	输出:// Object { name: "admin", age: 16, sex: null }
	
    console.log(obj.name);
	输出:// admin
	
    console.log(obj.age);
    输出:// 16

规则:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值