83

我有以下格式的一行:

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

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

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

基本上将上面转换为jsonarray?

Python 中是否有内置方法、库或函数可以将数组“转储”到 json 数组中?

另请注意,我不希望在我的文件中序列化“L”。

4

2 回答 2

120

使用该json模块生成 JSON 输出:

import json

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

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

如果您需要 Python 本身中的 JSON 结果字符串,请使用json.dumps()(added s, for 'string'):

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]]]'
于 2013-11-05T17:25:26.750 回答
19
import json
row = [1L,[0.1,0.2],[[1234L,1],[134L,2]]]
row_json = json.dumps(row)
于 2013-11-05T17:25:16.650 回答