JSON 转储 Python CGI 以尾随点开始
JSON Dump in Python CGI starts with trailing dots
从run_report returns一个python字典返回的数据,然后在其中解析成JSON字符串并打印出来,以便[=25可以访问=]. run_report 函数还创建了一个 .json 文件,我可以稍后访问该文件:
print "Content-type: application/json\n"
json_data = run_report(sites_list, tierOne, dateFrom, dateTo, filename, file_extension)
print json.dumps(json_data, indent=4, sort_keys=True)
然而,当它打印时,我收到这样的输出:
..{
"data": {
"FR": 1424068
},
"tierone": {
"countries": [
"US",
"BR",
...
],
"ratio": 100.0,
"total": 1424068,
"total_countries": 1
},
"total": 1424068,
"total_countries": 1
}
我不明白那些尾随点是如何出现的。但是,如果我打开我使用 run_report 函数创建的 .json 文件之一并打印读取的数据文件,这些点不会出现。
def open_file(file_extension, json_file):
with open(file_extension + json_file) as data_file:
data = json.load(data_file)
return json.dumps(data)
json_data = open_file(file_extension, filename)
print json_data
某些 else 正在生成那些 .
个字符; json.dumps()
函数从不添加那些。
确保没有其他内容正在写入 sys.stdout
;您发送到 sys.stdout
的所有内容都会发送到浏览器(print
默认写入 sys.stdout
)。
根据您的评论,我了解到您想将其他信息写入服务器日志;不要为此使用 sys.stdout
;改为写入 sys.stderr
。
从run_report returns一个python字典返回的数据,然后在其中解析成JSON字符串并打印出来,以便[=25可以访问=]. run_report 函数还创建了一个 .json 文件,我可以稍后访问该文件:
print "Content-type: application/json\n"
json_data = run_report(sites_list, tierOne, dateFrom, dateTo, filename, file_extension)
print json.dumps(json_data, indent=4, sort_keys=True)
然而,当它打印时,我收到这样的输出:
..{
"data": {
"FR": 1424068
},
"tierone": {
"countries": [
"US",
"BR",
...
],
"ratio": 100.0,
"total": 1424068,
"total_countries": 1
},
"total": 1424068,
"total_countries": 1
}
我不明白那些尾随点是如何出现的。但是,如果我打开我使用 run_report 函数创建的 .json 文件之一并打印读取的数据文件,这些点不会出现。
def open_file(file_extension, json_file):
with open(file_extension + json_file) as data_file:
data = json.load(data_file)
return json.dumps(data)
json_data = open_file(file_extension, filename)
print json_data
某些 else 正在生成那些 .
个字符; json.dumps()
函数从不添加那些。
确保没有其他内容正在写入 sys.stdout
;您发送到 sys.stdout
的所有内容都会发送到浏览器(print
默认写入 sys.stdout
)。
根据您的评论,我了解到您想将其他信息写入服务器日志;不要为此使用 sys.stdout
;改为写入 sys.stderr
。