如何将字符串解析为对象数组?

时间:2020-10-25 04:52:32

标签: python arrays json

我有一个python应用程序,它以这样的字符串格式将奇怪的对象数组发送到我的node js应用程序:

"[{'foo':'bar'},{'hello':'world'}]"

我正在尝试使用JSON.parse()进行解析,但出现错误:

SyntaxError: Unexpected token ' in JSON at position 1

在python端,该数组被识别为真实的数组列表,但是当我使用python shell将其传递给nodejs时,这将成为对象的字符串化数组。

有没有建议解析它?

2 个答案:

答案 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'}]