首页 > 解决方案 > JSON解析后无法获取值

问题描述

我在从下面的字符串转换值时遇到问题。试图解析 JSON 但没有用。

const val1 = "{a: '123'}";

console.log(typeof(val1)); // string

const a = JSON.parse(val1); // Gives Error: Unexpected token a in JSON at position 1

const b = JSON.parse(JSON.stringify(val1)); 
console.log(b); // {a: '123'}
console.log(b.a); // ---> undefined

console.log(typeof(b)); // string -> How?

如果我再次这样做,JSON.parse(b) -> Gives error: Unexpected token a in JSON at position.

有人可以建议我做错了什么

标签: javascriptjsonstringjsonparser

解决方案


尝试以下

const jsonString = '{"a": "123"}';
const parsedJson = JSON.parse(jsonString);

console.log(parsedJson.a)

问题是您的 json 字符串中的单引号,请参阅此https://www.json.org/json-en.html

您可以使用以下

const jsonString1 = '{"a": "123"}';
const jsonString2 = "{\"a\": \"123\"}";

推荐阅读