【发布时间】:2018-08-06 16:01:11
【问题描述】:
我需要将以下列表转换为有效的 JSON 对象:
data = ['{"id":"0","jsonrpc":"2.0","method":"RoutingRequest","params":{"barcode":"5694501","itemID":113},"timestamp":"2018-08-06T15:38:40.531"}', '']
我试过了:
import json
my_json = data.decode('utf8').replace("'", '"')
my_json = json.loads(my_json)
不断收到此错误:引发 TypeError(f'JSON 对象必须 是 str, bytes 或 bytearray, ' TypeError: JSON 对象必须是 str, 字节或字节数组,而不是列表
我做错了什么? (顺便说一句,我是 Python 新手)
【问题讨论】:
-
如果要生成JSON,则需要对其进行编码。但是,它不会是 JSON 对象,而是 JSON 数组。你设想什么样的对象?另外,第一个列表元素不包含 JSON 吗?
-
你想把它变成一个json对象吗?您已经有一个 json 对象,它是
data[0]。你想用它做什么? -
是否要将列表转换为 JSON 字符串,请使用
json.dumps(),反之则使用json.loads()。您所拥有的似乎是列表中的 JSON 字符串。您必须先提取它。 -
是的,第一个元素确实包含 JSON。我只需要解析出那个元素..谢谢 FHTMitchell...我现在明白了...