如何将python数组转换为JSON字符串,以便将其存储在数据库中?

时间:2013-02-05 02:05:32

标签: python arrays json sqlite pyramid

我知道在javascript中有stringify命令,但在python中是否存在类似金字塔应用程序的内容?现在我有一个可调用的视图,它接受一个上传的stl文件并将其解析为一种格式。 data= [[[x1,x2,x3],...],[[v1,v2,v3],...]]如何将其转换为JSON字符串,以便将其存储在SQLite数据库中?我可以将javascript stringify命令插入到views.py文件中吗?有更简单的方法吗?

2 个答案:

答案 0 :(得分:3)

您可以使用json模块执行此操作:

 import json
 data_str = json.dumps(data)

还有其他数组表示也可以存储在数据库中(参见pickle)。

但是,如果您实际构建数据库,则应该知道它被认为违反了基本数据库原则(第一范式),可以将多个数据存储在关系数据库中的单个值中。您应该做的是将数组分解为行(可能还有单独的表),并在每个“单元格”中存储单个值。这将允许您使用SQL查询和分析数据。

如果您没有尝试构建实际数据库(如果数组对您的应用程序完全不透明,并且您永远不想按数组内的值进行搜索,排序,聚合或报告),那么您不需要需要担心正常形式,但你也可能发现你不需要SQL数据库的开销。

答案 1 :(得分:1)

你也可以使用cjson,它比json库更快。

import cjson
json_str = cjson.encode(your_string)