JSON

一种轻量的数据交换格式,现已基本取代XML,在Web前端广泛运用。

JSON.parse() - JavaScript解析JSON

通过JSON.parse()方法将JSON解析为数据。

1
2
3
4
5
6
7
var text = '{"criminals":[{"name":"ZhangSan","code":0},{"name":"LiSi","code":1}]}'
var object = JSON.parse(text)

for(var a = 0;a < 2;a++){
console.log(object.criminals[a].name + " " + object.criminals[a].code)
}

返回结果:

1
2
ZhangSan 0
LiSi 1

控制台输出 Firefox 85.0

参数

  • text:需要被转换为对象的JSON字符串,必须,
  • reviver: 转换器。如果传入该参数(函数),可以用来修改解析生成的原始值,调用时机在 parse 函数返回之前。可选。

输出

  • Object: 与JSON字符串对应的对象或值。

异常

  • SyntaxError:如果传入的JSON字符串有语法错误,那么就会抛出这个异常。

JSON.stringify() - 将对象/值转换为JSON字符串

同样的,可以通过JSON.stringify()将对象或值转换为JSON字符串。

1
2
var iN = {"ZhangSan":{"Age":128,"Level":6,"InnormalAbility":"UpsideDown"}}
console.log(JSON.stringify(iN))

返回结果:

1
{"ZhangSan":{"Age":128,"Level":6,"InnormalAbility":"UpsideDown"}}

控制台输出 Firefox 85.0

参数

  • value:将要化成JSON字符串的对象,必需;
  • replacer:转换器。用于转换结果的函数或者数组,可选;
  • space:设置缩进/换行。可选。

输出

  • 一个表示给定值的JSON字符串。

异常

  • TypeError:当在循环引用时或者使用不被支持的类型(如BigInt)时会抛出此异常;

参考