Привет У меня есть файл json и вы хотите его разобрать. Я написал код происходит некорректно:parse json file ValueError
import json as simplejson
import os
for filename in os.listdir('/home/Documents/test/'):
with open('/home/Documents/test/' + filename) as file:
data = simplejson.load(file)
try:
if(data['scans']['Microsoft']['detected']==True):
label = data['scans']['Microsoft']['result']
print label
except (ValueError, KeyError, TypeError):
print "JSON format error"
Но я получил следующее сообщение об ошибке:
ValueError: Expecting property name: line 1 column 1 (char 1)
Не могли бы вы помочь мне, что это проблема. Я думаю, потому что мой файл включает символы Unicode, но я не знаю, как я могу его решить.
Это часть моего файла JSon:
{u'md5': u'0a1cdc568b4da42cb7acce45834eb4ba',
u'permalink': u'https://www.virustotal.com/file/a0acc0feb1da7f571faaa7dc3b7ebcd1b856710d1f44cd6e0b57ec5a9bc70038/analysis/1383102973/',
u'positives': 42,
u'resource': u'0A1CDC568B4DA42CB7ACCE45834EB4BA',
u'response_code': 1,
u'scan_date': u'2013-10-30 03:16:13',
u'scan_id': u'a0acc0feb1da7f571faaa7dc3b7ebcd1b856710d1f44cd6e0b57ec5a9bc70038-1383102973',
u'scans': {u'AVG': {u'detected': True,
u'result': u'FakeAV.AFQQ',
u'update': u'20131029',
u'version': u'13.0.0.3169'},
u'Agnitum': {u'detected': True,
u'result': u'FraudTool.Agent!dfdcHBsNM3c',
u'update': u'20131029',
u'version': u'5.5.1.3'},
u'AhnLab-V3': {u'detected': True,
u'result': u'Trojan/Win32.FakeAV',
u'update': u'20131029',
u'version': u'2013.10.30.01'},
u'AntiVir': {u'detected': True,
u'result': u'TR/Winwebsec.bamnx',
u'update': u'20131030',
u'version': u'7.11.110.26'},
u'Antiy-AVL': {u'detected': False,
u'result': None,
u'update': u'20131029',
u'version': u'2.0.3.7'},
У вас нет JSON. У вас есть литералы Питона. –
http://jsonlint.com – deceze
Что вы подразумеваете под этим? мой файл имеет расширение json .. – Alex