PythonからJSONを解析しようとしています。私は最近Pythonで作業を始めたので、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'
私はここで何が間違っているのでしょうか?私はWindowsでcygwinを実行していますが、そこからは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
File "json.py", line 2, in <module>
import json
この行は無料です。スクリプトに「json」という名前を付けましたが、「json」という組み込みモジュールをインポートしようとしています。スクリプトは現在のディレクトリにあり、sys.pathに最初にあるため、インポートされるモジュール。
スクリプトを別の名前に変更する必要があります。できれば、標準のpythonモジュールではありません。
標準ライブラリの一部ではないjson.py
モジュールがあるようです。 ZookPythonが何かわからない。 ZookPythonディレクトリ(または単に[json.py
])の名前を変更して、再実行してください。