使用 JavaScript 将 JSON 字符串转换为对象

在 JavaScript 中将 JSON 字符串转换为对象

Convert a JSON String to Object using JavaScript

使用该JSON.parse()方法将 JSON 字符串转换为对象,例如
JSON.parse(jsonStr). 该方法解析 JSON 字符串并返回其 JavaScript 值或等效对象。

如果提供的参数不是有效的 JSON,该JSON.parse方法将引发
SyntaxError异常。

索引.js
const jsonStr = '{"color": "blue", "number": 30}'; const parsed = JSON.parse(jsonStr); console.log(parsed); // 👉️ {color: 'blue', number: 30}

我们使用
JSON.parse
方法将 JSON 字符串转换为对象。

我们传递给该方法的唯一参数是应该解析的 JSON 字符串。

如果将无效的 JSON 字符串传递给该方法,SyntaxError则会引发异常。

索引.js
const invalidJsonStr = "{'color': 'blue'}"; // ⛔️ Error: Unexpected token ' in JSON at position 1 const parsed = JSON.parse(invalidJsonStr);
示例中的 JSON 字符串在对象的键和值周围使用了单引号,这使其无效。

JSON.parse方法尝试解析 JSON 字符串但无法解析并抛出异常。

如果您需要处理这种情况,您可以使用块JSON.parse内的方法try/catch来确保您的程序不会崩溃。

索引.js
const jsonStr = '{"color": "blue", "number": 30}'; let parsed; try { parsed = JSON.parse(jsonStr); console.log('✅ JSON converted to object successfully'); } catch (err) { console.log('⛔️ invalid JSON provided'); }

如果jsonStr变量存储无效的 JSON,该catch块将捕获异常以便我们处理它。

如果 JSON 字符串有效,它会转换为对象并分配给
parsed变量。

如果您的 JSON 字符串存储无效的 JSON,请复制该字符串并将其粘贴到 JSON 验证器中以查看错误的来源。

You can correct the errors either on the server or on the client, by using the
String.replace
or
String.replaceAll
methods to replace/remove any invalid characters from the JSON string.

For example, the following code replaces all single quotes with double quotes to
produce a valid JSON string.

index.js
const invalidJsonStr = "{'color': 'blue'}"; const validJsonStr = invalidJsonStr.replaceAll(`'`, `"`); // 👇️ {color: 'blue'} const parsed = JSON.parse(validJsonStr); console.log(parsed);
We used the replaceAll() method to replace all occurrences of single quotes with double quotes to make the JSON string valid.

The first parameter the replaceAll method takes is the substring we want to
match in the string.

And the second – the replacement for each match.

The JSON.parse method was able to convert the JSON string to a JavaScript
object.