如何在Python中将一组数字转换为Json数组

85

我有一行数据,格式如下:

row = [1L,[0.1,0.2],[[1234L,1],[134L,2]]]
现在,我想要将以下内容写入文件中:
[1,[0.1,0.2],[[1234,1],[134,2]]]

将上述内容转换为json数组的基本方法?

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

同时请注意,我不想在我的文件中序列化“L”。


10
好的,我会尽力进行翻译。以下是您提供的内容的翻译:json.. dump... 嗯,可能有一些东西。意思:这句话涉及到编程语言中针对JSON格式数据的转换和存储操作,具体细节需要根据上下文来确定。 - roippi
2个回答

124

使用json模块生成JSON输出:

import json

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

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

如果您需要在Python本身中获得JSON结果字符串,请使用json.dumps()(添加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]]]'

1
@user3226167 这是一个关于 Python 2 的问题;Python 3 不再有两种不同类型的整数对象。 - Martijn Pieters

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

1
dumps接受一个对象并生成一个字符串。>>> import json >>> row = [1,[0.1,0.2],[[1234,1],[134,2]]] >>> type(row) >>> row_json = json.dumps(row) >>> type(row_json) >>> - Chirag Maliwal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接