TypeError:字符串索引必须是json.loads()之后的整数



我有以下字符串:

'"{\"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]}'

相关内容

最新更新