2017-10-10 5 views
1

私は、MacBookでPythonでjsonファイルを読むことに問題があります。この問題は、ほんの数分前に文字通りjsonファイルを読むことができたので、非常に奇妙です。これは、私が古いjsonファイルをxcodeで新しいjsonファイルに変更したときに発生しました。以下を参照してください。誰かが私を助けてくれますか?次Pythonが突然MAC OS Xでjsonファイルを読んでいない

import json 

print "Running services: " 

with open('service_list.json') as service_file: 
    service_list = json.load(service_file) 
    print(service_file); 

旧JSONファイル:

{ 
    "service 1” : { 
     { 
      "name" : "service 1" 
     }, 
    } 
    "service 2" : { 
     { 
      "name" : "service 2" 
     } 
    } 
} 

新しいJSONファイル:

{ 
    "services” : [ 
     { 
      "name" : "service 1" 
     }, 
     { 
      "name" : "service 2" 
     } 
    ] 
} 

次のPythonスクリプトは、上記のJSONファイルの両方を読み取ることができませんスクリプトを実行するとエラーが発生します。

Running services: Traceback (most recent call last): File "update_checker.py", line 6, in service_list = json.load(service_file) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py", line 290, in load **kw) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py", line 338, in loads return _default_decoder.decode(s) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 382, in raw_decode obj, end = self.scan_once(s, idx) ValueError: Invalid control character at: line 2 column 22 (char 23)

何が起こっているか教えていただけますか? ありがとうございます!

+2

は実際のJSONということですか?それはスマート引用符と通常の引用符を混ぜたものです。 –

+0

これらは実際のjsonファイルですが、見積もりの​​使い方について何か間違っていますか? –

+0

それはあなたの問題の原因です。 –

答えて

5

あなたはスマート引用符を持っています(または他の人が言っているように、ある種のユニコードベースの引用符)。あなたは通常の二重引用符を持つ必要があります。 servicesのエンド引用符を見てください:になるための

{ 
    "services” : [ 
     { 
      "name" : "service 1" 
     }, 
     { 
      "name" : "service 2" 
     } 
    ] 
} 

ニーズ:

{ 
    "services" : [ 
     { 
      "name" : "service 1" 
     }, 
     { 
      "name" : "service 2" 
     } 
    ] 
} 
関連する問題