javascript - 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.
有人可以建议我做错了什么
解决方案
尝试以下
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\"}";
推荐阅读
- python - PyTorch:提供的尺寸数量(0)必须大于或等于张量中的维度数量(1)
- javascript - 获取点击元素的索引
- python-3.x - TypeError 将带有 dtype int 的 Series 传递给 dateutil.relativedelta
- python - 如何获取通过 url 传递给 django 中的类 Create View 的值?
- amazon-web-services - JupyterHub 笔记本服务器返回 500 错误,Pod 卡在“终止”状态
- bash - 从 find 命令返回 True 或 False
- javascript - 在javascript中组合多个回调
- reactjs - 如何在使用 React.createContext 创建的 Mobx 商店之间进行通信
- arrays - Fortran 数组输入
- sql - Oracle sql - 我如何获得最新的值?