Теперь я запутался, почему я не могу разобрать эту строку JSON. Подобный код отлично работает на другой строке JSON, но не на этом - я пытаюсь разобрать JSON String и извлечь script из 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, и он отлично работает.