2016-07-04 13 views
-1

私は以下のコードをインターネットから見つけ、正しく実行します。このPythonコードでシングルクォートを削除できないのはなぜですか?

{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4} 

しかし、私はこのように単一引用符を削除する場合:

#!/usr/bin/python 
import demjson 

json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; 

text = demjson.decode(json) 
print text 

結果は以下の通りです

その後
json = {"a":1,"b":2,"c":3,"d":4,"e":5}; 

エラーが報告された:

Traceback (most recent call last): 
    File "2.py", line 6, in <module> 
    text = demjson.decode(json) 
    File "/usr/local/lib/python2.7/dist-packages/demjson.py", line 5701, in decode 
    return_stats=(return_stats or write_stats)) 
    File "/usr/local/lib/python2.7/dist-packages/demjson.py", line 4917, in decode 
    raise errors[0] 
demjson.JSONDecodeError: a Unicode decoding error occurred 

なぜ?

+1

*このコードは機能していないのはなぜですか?カテゴリ。 Pythonの基礎を学び、あなたは良いことになるでしょう。 – ray

答えて

5

これはJSONではないためです。 JSONは文字列で、JavaScriptオブジェクトと似ています。これを文字列ではなくJSONにします。

-1

あなたが本当にしたい場合さて、あなたがこれを行うことができます:それはJSONではありませんので

import json 
m = {"a":1,"b":2,"c":3,"d":4,"e":5} 
n = json.dumps(m) 
o = json.loads(n) 
print o['a'], o['b'] 

あなたのコードは動作しません主な理由は、Ignacio Vazquez-Abramsで答えています。 JSONは文字列で、JavaScriptオブジェクトと似ています。これを文字列ではなくJSONにします。

+0

downvoteの理由は素晴らしいでしょう。 – fuzz

関連する問題