Я пытаюсь разобрать JSON из Python. Недавно я начал работать с Python, поэтому я последовал примеру учебника stackoverflow, который разбирал JSON с использованием Python, и я придумал код ниже -
#!/usr/bin/python
import json
j = json.loads('{"script":"#!/bin/bash echo Hello World"}')
print j['script']
Но всякий раз, когда я запускаю приведенный выше код, я всегда получаю эту ошибку -
Traceback (most recent call last):
File "json.py", line 2, in <module>
import json
File "/cygdrive/c/ZookPython/json.py", line 4, in <module>
j = json.loads('{"script":"#!/bin/bash echo Hello World"}')
AttributeError: 'module' object has no attribute 'loads'
Любые мысли, что я здесь делаю неправильно? Я запускаю cygwin в windows, и оттуда я запускаю свою программу python. Я использую Python 2.7.3
И есть ли лучший и эффективный способ разбора JSON?
Обновление: -
Ниже код не работает, если я удаляю одиночную кавычку, так как я получаю строку JSON от другого метода -
#!/usr/bin/python
import json
jsonStr = {"script":"#!/bin/bash echo Hello World"}
j = json.loads(jsonStr)
shell_script = j['script']
print shell_script
Итак, перед десериализацией, как убедиться, у него есть и одна цитата?
Это ошибка, которую я получаю -
Traceback (most recent call last):
File "jsontest.py", line 7, in <module>
j = json.loads(jsonStr)
File "/usr/lib/python2.7/json/__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer