我发现mjson.tool使用科学记数法转换实数,例如:
$ echo '{"k":0.000000581}' | python -mjson.tool
{
"k": 5.81e-07
}
但是,我想避免这种转换,所以前者打印为:
{
"k": 0.000000581
}
可以这样使用mjson.tool吗?
答案 0 :(得分:1)
从我看到的,mjson模块只是将输入转换为json并返回到带缩进和排序键的字符串。
这可以通过以下方式完成:
>>> json.dumps(json.loads('{"k":0.000000581}', indent=2, sort_keys=True))
'{"k": 5.81e-07}'
为了避免科学的符号,请参阅@Veedrac对该主题的回答:
https://stackoverflow.com/a/18936966/956660
编辑:任何只重新格式化并且不会尝试解析/转换类型的工具都可以使用。
我尝试了yajl-tools
:
user$ sudo apt-get install yajl-tools
user$ echo '{"a": 0.0000000000000001337}' | json_pp
{
"a" : 1.337e-16
}
user$ echo '{"a": 0.0000000000000001337}' | json_reformat
{
"a": 0.0000000000000001337
}