Bir JSON nesnesini bir Python dict
içine ayrıştırmaya çalışıyorum. Bunu daha önce hiç yapmadım. Bu özel hataya baktığımda, (İlk char? ile ilgili sorun nedir?), Diğer iletiler yüklenmekte olan dizenin aslında bir JSON dizesi olmadığını söylediler. Yine de eminim ki bu.Python'da JSON ayrıştırmaya çalışıyorum. ValueError: Özellik adı bekleniyor
Bu durumda, eval()
iyi çalışıyor, ancak daha uygun bir yol olup olmadığını merak ediyorum?
Not: Bu dize, ptt araçlarıyla doğrudan Twitter'dan gelir.
>>> import json
>>> line = '{u\'follow_request_sent\': False, u\'profile_use_background_image\': True,
u\'default_profile_image\': False,
u\'verified\': False, u\'profile_sidebar_fill_color\': u\'DDEEF6\',
u\'profile_text_color\': u\'333333\', u\'listed_count\': 0}'
>>> json.loads(line)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "/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 "/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: Expecting property name: line 1 column 1 (char 1)
Bu sadece python sözdizimi, JSON değil. Güvenli değerlendirme için 'ast.literal_eval' kullanın – JBernardo