如何在 Python 中将数字列表转换为 jsonarray

我有一行格式如下:

row = [1L,[0.1,0.2],[[1234L,1],[134L,2]]]

现在,我要在文件中写入以下内容:

[1,[0.1,0.2],[[1234,1],[134,2]]]

基本上就是把上面的内容转换成 jsonarray?

Python 中是否有一个内置的方法、库或函数来将数组“转储”到 json 数组中?

还要注意,我不希望在文件中序列化“ L”。

254575 次浏览
import json
row = [1L,[0.1,0.2],[[1234L,1],[134L,2]]]
row_json = json.dumps(row)

使用 json模块生成 JSON 输出:

import json


with open(outputfilename, 'wb') as outfile:
json.dump(row, outfile)

这将 JSON 结果直接写入文件(如果文件已经存在,则替换以前的任何内容)。

如果您需要 Python 本身中的 JSON 结果字符串,请使用 json.dumps()(对于‘ string’,添加 s) :

json_string = json.dumps(row)

L只是用于长整数值的 Python 语法; json库知道如何处理这些值,不会编写 L

演示字符串输出:

>>> import json
>>> row = [1L,[0.1,0.2],[[1234L,1],[134L,2]]]
>>> json.dumps(row)
'[1, [0.1, 0.2], [[1234, 1], [134, 2]]]'