【发布时间】:2020-08-14 12:49:40
【问题描述】:
在发送 AJAX 请求时,Json-Content 的重新排序已经是一个已知问题,但我不知道在将 Json-content 插入 JSON 类型的 Mysql 表时也会发生同样的情况。
在这种情况下,mysql 服务器也会在保存之前对其内容进行排序。
之前:
{"c":3, "b":2, "a":1}
之后:
{"a":1, "b":2, "c":3}
假设我想出于某种目的阻止这种排序......是否有可能在不调整 Json 数据本身的情况下禁用排序?
【问题讨论】:
-
json 排序是什么意思?请提供一些您所看到的示例。
-
JSON 数据类型以某种内部格式存储,因此反向重构可能会对其组件进行重新排序。避免这种情况的唯一方法是将 JSON 存储在字符串类型的字段中。
-
@Akina,将 json 存储在字符串中不是我们的选择,因为我们正在使用 mysql json 函数来查询数据。
-
请看这个问题,我觉得和你的问题一样stackoverflow.com/questions/48382457/…
-
尽管如此 - 字符串数据类型和存储顺序(除了数组元素的位置顺序之外没有任何意义)或 JSON 数据类型和可能的重新排序。 我们正在使用 mysql json 函数来查询数据。 如果 JSON 函数是有效的 JSON 值,则 JSON 函数可以轻松接受字符串数据类型参数。