关于javascript:JavaScript中的JSON对象介绍及使用场景

JavaScript中的JSON对象介绍及应用场景

在工作中咱们常常会遇到字符串和对象的解决,尤其是其中的互相转换。

其中最常见的恐怕就是明天要说的JSON对象蕴含的两个办法JSON.stringfy()以及JSON.parse()

一、JSON.stringfy()

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

参数阐明:

  • value:

    必须, 要转换的 JavaScript 值(通常为对象或数组)。

  • replacer:

    可选。用于转换后果的函数或数组。

    如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。应用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:””。

    如果 replacer 是一个数组,则仅转换该数组中具备键值的成员。成员的转换程序与键在数组中的程序一样。

  • space:

    可选,文本增加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 也能够应用非数字,如:\t。

示例

var data =[
{
    name: "程咬金",sex:"1",age:26    
},
{
    name: "程才",sex:"0",age:20
}
];

var str_json = JSON.stringify(data,["name","sex"],3);
console.log(str_json);
var str_json2 = JSON.stringify(data, function (key, value) {
      if (key == 'sex') {
        return ["女", '男'][value];
      }
      console.log('value', value)
      return value;
    });
console.log(str_json2);

第三个个别不传,传的话相当于有了个换行操作,对应的数组示意缩进数。当然第二个参数个别也不传递。。

二、JSON.parse()

JSON.parse(text[, reviver])

返回与指定值对应的JSON字符串,能够通过额定的参数,管制仅蕴含某些属性,或者自定义办法来替换某些key对应的属性

示例

const json = '{"result":true, "count":42}';
const obj = JSON.parse(json);

console.log(obj.count);

这里特地留神单双引号的应用,特地是前后端交互的时候他传过来一个两头全是单引号的字符串,你会发现这玩意居然不能用了?

JSON.parse('{"p": 5}', function (k, v) {
    if(k === '') return v;     // 如果到了最顶层,则间接返回属性值,
    return v * 2;              // 否则将属性值变为原来的 2 倍。
});                            // { p: 10 }

JSON.parse('{"1": 1, "2": 2,"3": {"4": 4, "5": {"6": 6}}}', function (k, v) {
    console.log(k); // 输入以后的属性名,从而得悉遍历程序是从外向外的,
                    // 最初一个属性名会是个空字符串。
    return v;       // 返回原始属性值,相当于没有传递 reviver 参数。
});

应用场景的话,回忆一下最近写的代码,前端罕用到它的中央就是往浏览器的storage中保留和取用数据。

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据