58 lines
1.9 KiB
Markdown
58 lines
1.9 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 }
|
||
```
|
||
|
||
В приведенном выше примере все числовые значения [умножаются](https://repl.it/Mwfp/0) на `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) |