问题标签 [sqlite-json1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 如何使用 sqlite json-extract 提取嵌套的 json
如何使用 sqlite json-extract 或其他 sqlite json 命令提取嵌套的 json?
在这里我想提取given_id
谢谢。
python - 在 python/sqlalchemy 中将 sqlite3 JSON1 扩展输出作为 JSON 返回
我正在 python3 中使用 sqlite3 JSON1扩展。以下代码将输出作为字符串返回,但我希望它是一个 JSON 对象。在没有使用 json.loads() 的情况下,这甚至可以在 sqlite3 中实现吗?
输出
如果我可以通过 SQLalchemy 让它工作会更好(同样,我想避免使用 json.loads())
属性值是一个字符串,而不是 JSON 对象。
[{'properties': '{"id":"id1","device_name":"device1","role":"backbone","in_maint":true}'}]
编辑:我不知道返回的哪些列将包含 JSON 数据,因此,需要在不对每个列的值执行 json.loads() 的情况下执行此操作。最终,这些数据将以 JSON 形式返回给用户。API 用户将执行原始 SQL 查询。
sql - 使用 JSON1 跨多个表聚合 SQLite 查询
我无法解决以下问题。前几天我学习了如何使用 JSON1 系列函数,但这一次似乎更像是一个 SQL 问题。
这是我的数据库设置:
基于这些数据,我想得到以下输出,这是聚合到单个 JSON 数组中的所有人的所有兴趣:
现在以下是我尝试做的。不用说,这并没有给我想要的东西:
不想要的输出是:
非常感谢任何帮助!
json - 当 SQLite 中的键从一行到另一行不同时,如何访问 json 值?
试图理解以 json 格式编写的数据库。我设法将主表转换为 csv 格式,但是表本身中有以 json 格式编写的列。
有问题的表格描述了足球比赛,我遇到问题的属性提供了两支球队的详细信息(如阵容、进球等)。该属性提供了两个主要的键/值对,键值是参加比赛的球队的 id,因此键会逐行更改。
我已经设法通过在如下查询中手动写入 id 来访问一些信息(使用 team_id 1609):
(有问题的列称为teams_data,有问题的表称为Matches_England)
然而,这显然不是每场比赛都可行的。
我正在寻找一种方法来访问 SQLite 中每一行的这两个值。
这是相关行的示例:
在这种情况下,参加比赛的两个团队 id 是 1631 和 1609。如果我能够找到一种方法将这两个键/值对分成两个单独的列,仅包括两个单独的值(如团队 ID 再次嵌套在原始值中,因此我仍然可以从那里获取它)。
sqlite - 如何使用 json1 将数据内部连接和解析为 JSON
例如,假设我有一个名为Movie的表,有 2 列 - [id,title]
资料:
另一个表作为 Cast有 2 列 - [id,name]
数据:
演员表有演员,id 与电影相同。
我想要的 SELECT 查询的输出类似于:
我尝试了什么:
但它返回:
请提出正确的数据分组方式。我也尝试过分组,但它返回的数据更少。
如果我使用json_group_array
,我只会得到一部全演员的电影
python - sqlite3.OperationalError:未定义符号:sqlite3_json_init
我已经安装了Python的JSON1
扩展。sqlite3
我通过以下方式连接到数据库:conn = sqlite3.connect(DATABASE_PATH)
当我尝试使用conn.load_extenstion(PATH_TO_EXTENSION)
. 我收到以下错误:
sqlite3.OperationalError:/home/shtlrs/chrisJ_property_database/json_ext/json1:未定义符号:sqlite3_json_init
问题是它在我的电脑上运行,但是当我尝试在另一台笔记本电脑上运行它时,它给了我这个错误。
javascript - 有没有一种方法可以检查数组是否在 SQLite 中包含一个值?
假设我们有这个 id=number 和 tags=text 的 SQLite 表:
有没有办法只返回它们的单元格tags
包含“love”的行,例如 MySQL 中的这个命令:SELECT * from my_table WHERE JSON_CONTAINS(tags, '"love"')
在 SQLite 中。
我将它与带有sql.js
node.js的库一起使用
database - 从 json 中提取唯一值的 SQLite 查询
对于在 React Native 中使用,
假设我有一个 SQLite 数据库表,其中包含 col1 主表 col2。
其中 col1 包含一个序列号,而 col2 包含一个 JSON
我只想使用 SQLite 查询提取那些唯一值,我期望的输出是:["value1","value2","value3","value4","value"]
python - 无穷大可以存储在 SQLite JSON1 列中吗?
用例
我将 SQLAlchemy 和 SQLite 用于独立应用程序(非 Web),我需要将数值范围存储在数据库中。我通过在 SQLite 中保存每个范围的开始和结束来做到这一点,如下所示:
在最终的应用程序中,我需要确定任意值number
落在哪个范围内。我正在做如下的事情:
number
可以是任何整数或无穷大,因此 db 中的范围必须从负无穷大延伸到正无穷大
问题
以下代码工作正常
但是当我添加一个CheckConstraint
调用时,json_array_length(ranges)
我得到一个malformed JSON
错误:
追溯:
我确认[[float("-inf"), 1], [1, float("inf")]]
没有通过更改CheckConstraint
to将其转换为有效的 JSON,json_valid(ranges)
并且仅当列中存在无穷大时它才会失败。
我必须能够将CheckConstraint
s 添加到ranges
列中。我需要对其他列执行数据验证步骤。其中的细节很复杂,超出了这个问题的范围。
解决方法
我想我可以通过这样替换来解决这个float("inf")
问题"inf"
我可以确定任意的范围,number
例如:
但现在我在列中混合了类型,我更喜欢只存在数字。
回到问题
有没有办法在 JSON1 列中存储无穷大?如果有其他数据库支持数组中的无穷大(适用于独立应用程序),请分享。理想情况下,SQLAlchemy 支持这个数据库。
json - 在 Sqlite 查询中使用 JSON 谓词获取数组项
我正在尝试使用谓词从 Sqlite 中的 JSON 数组中检索单个项目。
这是我的样本数据集:
我只想检索价格为 22.99 的商品。
在 XPath 中,我会做这样的事情://book[@price='22.99']
我在线尝试了一些 JSON 路径评估器(https://jsonpath.com/),这应该可以工作:$.book[?(@.price == 22.99)]
但是,当我尝试SELECT
在 Sqlite 的查询中使用相同的路径时,它会引发以下异常:
我错过了什么吗?当我尝试没有谓词(如$.book[2].title
)的路径时,它可以工作。
我的完整 SQL 查询是(JSON 在content
字段中):
PS:我知道我可以使用该WHERE
语句进行查询,但我更愿意仅使用 JSON 路径使其工作。