liv*_*hak 1 python json elasticsearch kibana kibana-4
我有一个小python程序,我用它来操作JSON文件.我发现当我使用json.dump()将操纵数据转储回JSON文件时,它会更改为<type 'NoneType'>
.以下数据的原始类型(类型json_data
)是<type 'dict'>
.我将这些JSON文档存储在elasticsearch中,并使用Kibana4将其可视化.Kibana4将新添加的整数字段视为字符串.有人曾经遇到过这个问题.
import json
fname = "json_data.txt"
with open(fname, 'r+') as f:
json_data = json.load(f)
print(type(json_data))
#Code to add fields to json files.
f.seek(0)
x = json.dump(json_data,f,ensure_ascii=True)
print(type(x))
Run Code Online (Sandbox Code Playgroud)
json.dump()
没有回报价值.它写入到文件,不返回倾销的对象.
因此,返回可调用的默认返回值None
.
换句话说,您的代码完全按照您的要求执行:读取JSON数据并解析它,结果存储在json_data
.然后,将该Python对象写回文件中.返回值在json.dump()
这里无关紧要,你仍然可以参考json_data
.
如果你想要一个包含JSON对象的字符串值,请使用json.dumps()
(注意s
); 这将返回生成的JSON字符串,而不写入文件:
fname = "json_data.txt"
with open(fname, 'r') as f:
json_data = json.load(f)
print(type(json_data))
json_string = json.dumps(json_data)
print(type(json_string))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
616 次 |
最近记录: |