从JSON对象中获取此信息:
电话是在这里打的:
response = make_request(GET_QUALIFIED_OFFERS_URL, request)
def make_request(url, json_data):
host = url
req = urllib2.Request(host, json_data, {'content-type': 'application/json'})
response_stream = urllib2.urlopen(req)
return response_stream.read()
response = {"Violations":[],"Messages":[],"Log":[],"Session":{"SessionId":813982132},"W3iDeviceId":294294043,"IsAfppOfferwallEnabled":true}, skipkeys=True, ensure_ascii=False, sort_keys=True, indent=4}
print json.dumps((response), sort_keys=True, indent=4)
获取错误:
print json.dumps({"Violations":[],"Messages":[],"Log":[],"Session":{"SessionId":813982132},"W3iDeviceId":294294043,"IsAfppOfferwallEnabled":true}, skipkeys=True, ensure_ascii=False, sort_keys=True, indent=4)
NameError: global name 'true' is not defined
看起来有些JSON不正确。我在值“true”周围加上引号,就行了。那么有没有办法在所有的值上加引号呢?
这是有效的:
response = {"Violations":[],"Messages":[],"Log":[],"Session":{"SessionId":813982132},"W3iDeviceId":294294043,"IsAfppOfferwallEnabled":"true"}, skipkeys=True, ensure_ascii=False, sort_keys=True, indent=4}
问题是,像这样的JSON到处都有false和true这样的值,在大型键-值数据集中没有引号。
我要做的是使用JSon并使其能够与之进行比较。我试图编写一个自动化框架来测试Json中返回的内容。理想情况下,我想创造一个像csv输出。可能每个键都有一列,然后每个值都有一行。还有人在做这种事吗?
编写纯JSON字符串和将Python数据结构转换为JSON字符串是有区别的。
默认情况下,Python的
JSON{En,De}coder
执行以下转换:因此,当您用Python编写
{'foo': True}
时,JSONEncoder会根据JSON标准写出{'foo': true}
。在Python中,关键字是
True
,而不是true
。区分大小写。作为dumps
和loads
的示例用法:相关问题 更多 >
编程相关推荐