我尝试解析从网上获得的一个非常简单的 json 字符串:{"price" : '10.25'} 如您所见,数字 (10.25) 在单引号之间,对于简单的 json 来说似乎是个问题:
再生产:
import simplejson as json
json_str = """ {"price" : '10.25'} """
json.loads(json_str)
结果:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.5/simplejson/__init__.py", line 307, in loads
return _default_decoder.decode(s)
File "/usr/lib/pymodules/python2.5/simplejson/decoder.py", line 335, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/pymodules/python2.5/simplejson/decoder.py", line 353, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
但是,如果我将单引号更改为双引号 - 它可以工作。\不幸的是,我得到的 json 并不像上面的示例那么简单,所以我不能用字符串替换命令替换所有单引号。
有人知道解析这个json的正确方法是什么吗?
PS我使用python 2.5。
非常感谢!