【发布时间】:2020-05-26 01:29:05
【问题描述】:
您好,我正在尝试在 mysql 工作台中插入复杂的 json 数据,但我的 json 数据按字母顺序插入。如何以与插入查询中传递的相同顺序获取 json 数据?
创建表:
CREATE TABLE payload ( `id` INT NOT NULL,
`json` JSON NOT NULL,
PRIMARY KEY (`id`));
插入 Json
INSERT INTO payload ( id, json)
VALUES (2, '{
"request": "release",
"type": [
{
"type" : 1
}
],
"start": [
{
"type": "sample",
"id": "01",
"content": [
{
"name": "jon",
"email": "jon@gmail.com"
}
]
}
]
}');
选择*表名后将json存入数据库:
'3', '{\"type\": [{\"type\": 1}], \"start\": [{\"id\": \"01\", \"type\": \"sample\", \"content\": [{\"name\": \"jon\", \"email\": \"jon@gmail.com\"}]}], \"request\": \"release\"}'
实际上,我希望将我的 json 存储在与我在数据库中插入的 json 相同的位置。
有没有办法防止json数据按字母顺序排序?
谢谢。
【问题讨论】:
-
为什么属性的顺序很重要?
-
是的。我将读取该 json 作为输入
-
@nancy 属性的顺序在 json 数据类型中应该无关紧要。如果要保留订单,请将其存储为字符串。检索它并将其转换为 json。但是您将无法利用将其设为 json 数据类型的优势。