我目前正在开发一个 Web 应用程序并将 JSON 用于 ajax 请求和响应。我有一个区域,我以超过 10000 个对象的数组的形式向客户端返回一个非常大的数据集。这是示例的一部分(已进行了一些简化):
"schedules": [
{
"codePractice": 35,
"codeScheduleObject": 576,
"codeScheduleObjectType": "",
"defaultCodeScheduleObject": 12,
"name": "Dr. 1"
},
{
"codePractice": 35,
"codeScheduleObject": 169,
"codeScheduleObjectType": "",
"defaultCodeScheduleObject": 43,
"name": "Dr. 2"
},
{
"codePractice": 35,
"codeScheduleObject": 959,
"codeScheduleObjectType": "",
"defaultCodeScheduleObject": 76,
"name": "Dr. 3"
}
]
正如您可以想象的那样,在这个数组中有大量对象时,JSON 响应的大小可能会非常大。
我的问题是,是否有一个 JSON 字符串化器/解析器可以转换
"schedules"
数组看起来像这样的 JSON 字符串:"schedules": [
["codePractice", "codeScheduleObject", "codeLogin", "codeScheduleObjectType", "defaultCodeScheduleObject","name"],
[35, 576, "", 12, "Dr. 1"],
[35, 169, "", 43, "Dr. 2"],
[35, 959, "", 76, "Dr. 3"],
]
即,
"schedules"
的开头会有一个数组。保存该数组对象的键的数组,所有其他容器数组都将保存值。如果需要,我可以在服务器上进行转换并在客户端进行解析,但我想知道是否有用于解析/字符串化大型 JSON 的标准库?
我也可以通过缩小器运行它,但我想保留我目前拥有的 key ,因为它们在应用程序中提供了一些上下文。
我也希望你能在这里批评我的方法或提出替代方案?
最佳答案
HTTP 压缩(即 gzip 或 deflate)已经做到了这一点。重复的模式,比如你的 JSON 键,被替换为标记,这样冗长的模式每次传输只需要出现一次。
关于ajax - 如何让我的 JSON 不那么冗长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6131059/