javaScript-json

JavaScript-json

JavaScript数据转换为json格式

1
JSON.stringify(value, [replacer], [space])
  • value: 要转换的JavaScript值,通常是一个对象或数组.

  • replace: 可选,如果该参数是一个函数,则在转化过程中,被转化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被转化到最终的 JSON 字符串中;如果该参数为 null 或者未提供,则对象所有的属性都会被转化。

  • sapce: 指定缩进用的空白字符串,用于美化输出;如果参数是个数字,它代表有多少的空格;上限为10。该值若小于1,则意味着没有空格;如果该参数为字符串(当字符串长度超过10个字母,取其前10个字母),该字符串将被作为空格;如果该参数没有提供(或者为 null),将没有空格。

  • 返回值:一个给定值的JSON字符串。

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
let user = {
name: "lss",
age: 18,
id: '02',
score: {
'数学': 90,
'化学': 90
}
}

let json = JSON.stringify(user, ['name', 'age'], 4);
console.log(json);

value值为user是对象类型,replace为[‘name’, ‘age’]表示要转化的属性为name和age,space为4表示4个空格。

1
2
3
4
{
"name": "lss",
"age": 18
}

json数据转化为JavaScript数据

1
JSON.parse(json, [reviver])

JSON.parse() 方法用来解析JSON字符串,解析为JavaScript值或对象。

  • json:需要转化的json字符串
  • reviver:可选的函数,用以在返回之前对所得到的对象执行操作。当前属性名和属性值会分别作为第一个和第二个参数传入 reviver 中。如果 reviver 返回 undefined,则当前属性会从所属对象中删除,如果返回了其他值,则返回的值会成为当前属性新的属性值。