我有一个python应用程序,它以这样的字符串格式将奇怪的对象数组发送到我的node js应用程序:
"[{'foo':'bar'},{'hello':'world'}]"
我正在尝试使用JSON.parse()
进行解析,但出现错误:
SyntaxError: Unexpected token ' in JSON at position 1
在python端,该数组被识别为真实的数组列表,但是当我使用python shell将其传递给nodejs时,这将成为对象的字符串化数组。
有没有建议解析它?
答案 0 :(得分:0)
JSON.parse()将不接受单引号作为字符串边界。使用双引号的此字符串可以正常工作:
console.log(JSON.parse('[{"foo":"bar"},{"hello":"world"}]'));
如果无法更改Python应用程序,则可以在JSON解析字符串之前将单引号替换为双引号。
答案 1 :(得分:0)
如何使用json.load()?
import json
inp = "[{'foo':'bar'},{'hello':'world'}]"
a = json.loads(inp.replace("'",'"'))
print(a)
输出(词典列表):
[{'foo': 'bar'}, {'hello': 'world'}]