如何将Python数组转换为可存储在数据库中的JSON字符串?

0 投票
2 回答
918 浏览
提问于 2025-04-17 14:46

我知道在JavaScript中有一个叫做stringify的命令,但在Python的Pyramid应用中有没有类似的东西?现在我有一个视图函数,它接收一个上传的stl文件,并把它解析成这样的格式:data= [[[x1,x2,x3],...],[[v1,v2,v3],...]] 我该如何将这个转换成一个JSON字符串,以便可以存储在SQLite数据库中?我可以把JavaScript的stringify命令放到我的views.py文件里吗?有没有更简单的方法来做到这一点?

2 个回答

1

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

import cjson
json_str = cjson.encode(your_string)
3

你可以使用 json 模块来实现这个功能:

 import json
 data_str = json.dumps(data)

其实还有其他的数组表示方式可以存储在数据库里,比如 pickle

不过,如果你真的在构建一个数据库,你需要知道在关系型数据库中,把多个数据放在一个值里是违反基本数据库原则的(这叫做第一范式)。正确的做法是把数组拆分成多行(可能还要分成不同的表),然后在每个“单元格”里只存一个值。这样你就可以用 SQL 来查询和分析数据了。

如果你并不是在构建一个真正的数据库(比如说这个数组对你的应用来说是完全不透明的,你也不打算根据数组里的值进行搜索、排序、汇总或报告),那么你就不需要太担心第一范式的问题,也许你会发现其实不需要使用 SQL 数据库的复杂性。

撰写回答