gpt4 book ai didi

php - 使用 MySQL 返回 JSON 字符串中的条目

转载 作者:行者123 更新时间:2023-11-29 22:55:20 24 4
gpt4 key购买 nike

我将数据作为 JSON 字符串存储在 mysql 中,因为它在我的情况下有很多优点。这些 JSON 字符串可能会变得非常大,并且 JSON 中还有其他条目(具有唯一的 ID)。

目前,我正在获取整个 JSON 字符串,然后循环遍历它以按 id 查找特定条目。

有没有一种方法可以让我只使用 MySQL 来获取我在 JSON 字符串中查找的条目?这样我就不必获取整个 JSON 字符串并循环遍历它。

最佳答案

使用common_schema 。这是一个例子:在第一个我设置的具有 json 格式的变量中,假设这是您的记录字段表中的 json。

SET @json = '{"id":"1","name":"number one"}';

然后将该变量(您的字段)解析为两个单独的列 common_schema使用 extract_json_value() 函数:

select common_schema.extract_json_value(@json,'/id') as ID,
common_schema.extract_json_value(@json,'/name') as NAME

输出

+----------+-----------+
| ID | NAME |
+----------+-----------+
| 1 | number one|
+----------+-----------+

因此您可以在表中使用 CONDITIONS STATMENT 进行查询。此示例查询(field3 中的 JSON):

SELECT field1, field2, field3 as JSON,
common_schema.extract_json_value(field3, '//sub1') as SUB1,
common_schema.extract_json_value(field3, '//sub2') as SUB2
FROM your_table
WHERE common_schema.extract_json_value(field3, '//sub1') = 'YOUR_CONDITION'

关于php - 使用 MySQL 返回 JSON 字符串中的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28737672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com