【发布时间】:2015-10-07 04:54:46
【问题描述】:
我有一个字符串,我评估为:
import ast
def parse(s):
return ast.literal_eval(s)
print parse(string)
{'_meta': {'name': 'foo', 'version': 0.2},
'clientId': 'google.com',
'clip': False,
'cts': 1444088114,
'dev': 0,
'uuid': '4375d784-809f-4243-886b-5dd2e6d2c3b7'}
但是当我使用 jsonlint.com 来验证上面的 json.. 它会引发架构错误..
如果我尝试使用 json.loads 我看到以下错误:
Try: json.loads(str(parse(string)))
ValueError: Expecting property name: line 1 column 1 (char 1)
我基本上是在尝试将这个 json 转换为 avro How to covert json string to avro in python?
【问题讨论】:
-
为什么不
json.loads(string)? -
值错误(发布问题 json.loads(str(parse(string))) ValueError: Expecting property name: line 1 column 1 (char 1))
-
@PadraicCunningham:它不是 JSON,所以
json.loads()不起作用。 -
json.dumps(s),认为输出是你想要的,而不是你正在使用的 -
是的.. 我必须做 json.loads(json.dumps(s)) :)