我现在感到困惑,为什么我无法解析此JSON字符串。类似的代码可以在其他JSON字符串上正常运行,但不能在此字符串上正常运行-我正在尝试解析JSON字符串并从JSON提取脚本。
下面是我的代码。
for step in steps:
step_path = '/example/v1' +'/'+step
data, stat = zk.get(step_path)
jsonStr = data.decode("utf-8")
print(jsonStr)
j = json.loads(json.dumps(jsonStr))
print(j)
shell_script = j['script']
print(shell_script)
因此,第一个
print(jsonStr)
将打印出如下内容-{"script":"#!/bin/bash\necho Hello world1\n"}
第二个
print(j)
将打印出这样的内容-{"script":"#!/bin/bash\necho Hello world1\n"}
然后没有打印出第三张照片,它给出了这个错误-
Traceback (most recent call last):
File "test5.py", line 33, in <module>
shell_script = j['script']
TypeError: string indices must be integers
所以我想知道我在这里做什么错?
我已经使用了与上面相同的代码来解析JSON,并且效果很好。
最佳答案
尝试将j = json.loads(json.dumps(jsonStr))
替换为j = json.loads(jsonStr)
。