2016-06-29 14 views
0

に動作していない私は、それはエラーに「リターン・ロード(fp.readを示しているjsonライブラリを使用してコードJson.load()、Json.loadsは()のpython 2.7

import json 

data = ''' { 
    "name" : "Chuck", 
    "phone": { 
    "type" : "intl", 
    "number" : "+1 734 355 4544" 
    } 
    "email" :{ 
    "hide" : "yes" 
    } 
} ''' 

info = json.load(data) 
print 'Name : ', info["name"] 
print 'Hide:' , info["email"]["hide"] 

を実行したいです()、 はAttributeErrorは「str」はオブジェクトが属性を持っていないことについて 「 どれソリューションを「読み取り」 編集されたバージョン

+0

誤った機能を使用しています。 'json.load(fp)'はファイルストリームのためのものです。文字列には 'json.loads(s)'を使うべきです。 – Nayuki

+0

また、2つのdictを区切るカンマが必要です。 –

答えて

9

をあなたは競合プログラムjson.pyを命名しました?組み込みモジュールjsonを使用してください。

プログラムの名前をmy_program.pyに変更し、ディレクトリからjson.pyjson.pycを削除します。

+0

これはうまくいったが、jiffyの問題は、jsonをインポートする際にエラーが発生するということです。 "ImportError:名前jsonをインポートできません" – Ali

+0

なぜそれが起こるのかわかりません。 –

+0

@AliはNayukiのコメントを見ます。また、あなたのjson文字列(データ)は有効なjsonではありません。 – gipsy