JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一些语法结构,但是它是独立于语言的,所以几乎所有的编程语言都支持JSON。JSON数据格式在传输数据的时候非常方便,因为JSON是一种文本格式,所以可以通过文本字符串来传输数据。
在JavaScript中,JSON是以字符串的形式存在的,所以如果要使用JSON数据,需要把JSON字符串转换为JSON对象。JavaScript提供了一个内置函数JSON.parse(),可以用来将JSON字符串转换为JSON对象。
var jsonStr = '{"name":"John","age":30,"city":"New York"}'; var jsonObj = JSON.parse(jsonStr); console.log(jsonObj);
上面的代码定义了一个jsonStr字符串,使用JSON.parse()函数将它转换为JSON对象,输出结果:
{name: "John", age: 30, city: "New York"}
JSON.parse()函数还可以接受一个函数作为参数,用来处理JSON字符串中的每个属性值,例如:
var jsonStr = '{"name":"John","age":30,"city":"New York"}'; var jsonObj = JSON.parse(jsonStr, function(key, value) { if (key == 'age') { return value + 10; } else { return value; } }); console.log(jsonObj);
上面的代码中,JSON.parse()函数接受一个函数作为参数,当遍历JSON字符串的每个属性值时,都会调用这个函数,如果属性名是age,则把它的值加10,其他属性的值不变,输出结果:
{name: "John", age: 40, city: "New York"}
JSON.parse()函数还可以接受一个可选参数reviver,该参数是一个函数,用来处理转换后的JSON对象,例如:
var jsonStr = '{"name":"John","age":30,"city":"New York"}'; var jsonObj = JSON.parse(jsonStr, function(key, value) { if (key == 'age') { return value + 10; } else { return value; } }, function(key, value) { if (key == 'name') { return 'Mr. ' + value; } else { return value; } }); console.log(jsonObj);
上面的代码中,JSON.parse()函数接受第三个参数reviver,用来处理转换后的JSON对象,如果属性名是name,则把它的值改为Mr. + value,其他属性的值不变,输出结果:
{name: "Mr. John", age: 40, city: "New York"}
JSON.parse()函数可以用来将JSON字符串转换为JSON对象,它支持多种参数,可以用来处理JSON字符串中的每个属性值,也可以用来处理转换后的JSON对象。
本文链接:http://task.lmcjl.com/news/2782.html