2016-11-08 4 views
-3
[ 
    { 
     "category_id": "", 
     "ad_type": "offer", 
     "price": "1000", 
     "sale_by": "owner", 
     "title": "Test title", 
     "description": "", 
     "location": "washington", 
     "postal_code": "1001", 
     "address": "", 
     "images": [ 
      "User/Desktop/image1.jpg", 
      "User/Desktop/image2.jpg" 
     ] 
    } 
] 

であると言っている私はjson.loads()は、上記のテキストのチャンクを含むファイルを読み込むと、上記の情報を含む辞書の配列にそれを解析するために取得しようとしています。私はそれを実行しようとすると、しかし、それだけでJSONの負荷が、これは無効なJSON

ValueError: No JSON object could be decoded 

しかし、コピーを言うとhttp://jsonlint.com/にこれを貼り付け、それは私が間違っているかわからないんだけど、有効なJSONだと言う。..

これは私のコードです:

with open(source_data) as data_file: 
    data = json.loads(data_file.read()) 
+1

データは結構ですので、問題は、あなたがそれを読んでいるかでなければなりません。あなたのコードを投稿してください。 –

+0

ここに貼り付けたものは、あなたが何か他のものを渡していることを意味する 'json.loads'でうまく動作します。どのようにファイルを読んでいるのですか? –

+0

Pythonコードを表示してもらえますか? 'json.loads'は文字列であり、ファイルオブジェクトではありません –

答えて

2

文字列であることを確認してください。

a = '''[ 
    { 
     "category_id": "", 
     "ad_type": "offer", 
     "price": "1000", 
     "sale_by": "owner", 
     "title": "Test title", 
     "description": "", 
     "location": "washington", 
     "postal_code": "1001", 
     "address": "", 
     "images": [ 
      "User/Desktop/image1.jpg", 
      "User/Desktop/image2.jpg" 
     ] 
    } 
]''' 

出力:

json.loads(a) 
[{u'description': u'', u'title': u'Test title', u'price': u'1000', u'ad_type': u'offer', u'sale_by': u'owner', u'location': u'washington', u'address': u'', u'images': [u'User/Desktop/image1.jpg', u'User/Desktop/image2.jpg'], u'postal_code': u'1001', u'category_id': u''}] 
関連する問題