freeCodeCamp/guide/chinese/javascript/standard-objects/json/json-parse/index.md

58 lines
1.5 KiB
Markdown

---
title: JSON Parse
localeTitle: JSON Parse
---
## JSON Parse
`JSON.parse()`方法解析字符串并构造由字符串描述的新对象。
#### 句法:
```javascript
JSON.parse(text [, reviver])
```
##### 参数:
`text` 要解析为JSON的字符串
`reviver` (可选) 该函数将接收`key`和`value`作为参数。此函数可用于转换结果值。
以下是如何使用`JSON.parse()`的示例:
```javascript
var data = '{"foo": "bar"}';
console.log(data.foo); // This will print `undefined` since `data` is of type string and has no property named as `foo`
// You can use JSON.parse to create a new JSON object from the given string
var convertedData = JSON.parse(data);
console.log(convertedData.foo); // This will print `bar
```
[Repl.it演示](https://repl.it/MwgK/0)
这是`reviver`一个例子:
```javascript
var data = '{"value": 5}';
var result = JSON.parse(data, function(key, value) {
if (typeof value === 'number') {
return value * 10;
}
return value;
});
// Original Data
console.log("Original Data:", data); // This will print Original Data: {"value": 5}
// Result after parsing
console.log("Parsed Result: ", result); // This will print Parsed Result: { value: 50 }
```
在上面的示例中,所有数字值都乘以`10` - [Repl.it Demo](https://repl.it/Mwfp/0)
#### 更多信息:
[JSON.parse - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)