我有以下字符串:
'"{\"values\": [3.304000000004, 3.010000000002, 5.8220000000063]}"'
我需要将其转换为JSON。如果我这样做:
parsed = json.loads(data)
parsed["values"]
然后我得到以下错误:
TypeError: string indices must be integers
如何修复?
如注释部分所述,您的数据似乎是双重编码的(某种dict的字符串(。
尝试像以下一样解析字符串两次
In [1]: import json
In [2]: data = '"{\"values\": [3.304000000004, 3.010000000002, 5.8220000000063]}"'
In [3]: parsed = json.loads(json.loads(data))
In [4]: parsed['values']
Out[4]: [3.304000000004, 3.010000000002, 5.8220000000063]
您的输入字符串并不代表JSON对象:正如@deceze所说,它是JSON格式字符串的JSON格式字符串。
'"{\"values\": [3.304000000004, 3.010000000002, 5.8220000000063]}"'
这是一根正义的绳子。
应该是这样的:
'{"values": [3.304000000004, 3.010000000002, 5.8220000000063]}'