保持mysql json查询的字段顺序
我有以下保持mysql json查询的字段顺序,mysql,Mysql,我有以下MySQLjson查询: SELECT json_object('personId', p.id, 'personName', p.name, 'personAge', p.age) FROM PEOPLE p; 我注意到json\u object没有按照查询中枚举的顺序返回字段,这可能会改变吗?如果我想要同样的订单,我可以吗 例如,输出可以是: { "personAge": 35, "personId": 12, "personName": "john" } 但
MySQL
json查询:
SELECT
json_object('personId', p.id, 'personName', p.name, 'personAge', p.age)
FROM
PEOPLE p;
我注意到json\u object
没有按照查询中枚举的顺序返回字段,这可能会改变吗?如果我想要同样的订单,我可以吗
例如,输出可以是:
{
"personAge": 35,
"personId": 12,
"personName": "john"
}
但我希望它永远是:
{
"personId": 12,
"personName": "john",
"personAge": 35
}
我认为您无法管理生成的
JSON
的密钥顺序。如果我们参考以下内容:,我们可以看到规范化JSON
值的步骤之一包括下一个逻辑:
为了提高查找效率,它还对JSON对象的键进行排序。您应该知道,此订购的结果可能会发生更改,并且不能保证在各个版本之间保持一致
然后,在后面的一段中,我们可以看到:
生成JSON值的MySQL函数(参见第12.17.2节“创建JSON值的函数”)始终返回规范化值
总之,
json_object()
是一个返回json
值的函数,该值将被规范化,规范化过程的一部分可能会影响json键的顺序
请提供一个数据示例,这个查询从该示例中输出什么,json_对象不按查询顺序返回字段是什么意思?Shidersz补充道:“通常情况下,表people中的每行都有一个JSON对象,从您的角度来看,有什么不对?”example@GMB补充example@JohnBigs您是否碰巧找到了管理订购的解决方案?