web-dev-qa-db-ja.com

python=を使用してJSONを解析している間、 'module'オブジェクトには属性 'loads'がありません

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
23
AKIWEB
File "json.py", line 2, in <module>
  import json

この行は無料です。スクリプトに「json」という名前を付けましたが、「json」という組み込みモジュールをインポートしようとしています。スクリプトは現在のディレクトリにあり、sys.pathに最初にあるため、インポートされるモジュール。

スクリプトを別の名前に変更する必要があります。できれば、標準のpythonモジュールではありません。

標準ライブラリの一部ではないjson.pyモジュールがあるようです。 ZookPythonが何かわからない。 ZookPythonディレクトリ(または単に[json.py])の名前を変更して、再実行してください。