gpt4 book ai didi

mysql - 保持mysql json查询的字段顺序

转载 作者:行者123 更新时间:2023-11-29 07:25:36 26 4
gpt4 key购买 nike

我有以下 MySQL json 查询:

SELECT
json_object('personId', p.id, 'personName', p.name, 'personAge', p.age)
FROM
PEOPLE p;

我注意到 json_object 没有按照查询中枚举的顺序返回字段,是否可以更改?如果我确实想要相同的订单,我可以这样做吗?

例如,输出可以是:

{
"personAge": 35,
"personId": 12,
"personName": "john"
}

但我希望它永远是:

{
"personId": 12,
"personName": "john",
"personAge": 35
}

最佳答案

我认为您无法为生成的 JSON 管理键的顺序。如果我们引用这个:Normalization, Merging, and Autowrapping of JSON Values ,我们可以看到用于规范化 JSON 值的步骤之一包括以下逻辑:

To make lookups more efficient, it also sorts the keys of a JSON object. You should be aware that the result of this ordering is subject to change and not guaranteed to be consistent across releases.

然后,一段之后,我们可以阅读:

MySQL functions that produce JSON values (see Section 12.17.2, “Functions That Create JSON Values”) always return normalized values.

所以,综上所述,json_object() 是一个返回JSON 值的函数,这个值会被规范化,规范化过程的一部分会影响顺序JSON 键

关于mysql - 保持mysql json查询的字段顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53972665/

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