我当前的项目通过ajax请求以JSON方式向浏览器发送大量数据。
我一直在努力决定使用哪种格式。我想到的两个是
[
"colname1" : "content",
"colname2" : "content",
],
[
"colname1" : "content",
"colname2" : "content",
],
...
和
{
"columns": [
"column name 1",
"column name 2",
],
"rows": [
[
"content",
"content"
],
[
"content",
"content"
]
...
]
}
第一种方法更好,因为它更容易使用。我只需要在收到后转换为对象。第二个将需要一些后期处理将其转换为更像第一个的格式,以便在JavaScript中更容易使用。
第二种更好,因为它不那么冗长,因此带宽更少,下载速度更快。在压缩之前,它通常在第一种格式的0.75%和0.85%之间。
GZip压缩使事情进一步复杂化。使文件大小差异接近0.85%至0.95%
我应该采用哪种格式?为什么?
答案 0 :(得分:2)
我建议使用RJSON:
RJSON(递归JSON)将任何JSON数据集合转换为更紧凑的递归形式。压缩数据仍然是JSON,可以使用
JSON.parse
进行解析。 RJSON不仅可以压缩同类集合,还可以压缩任何具有自由结构的数据集。
示例:
JSON:
{
"id": 7,
"tags": ["programming", "javascript"],
"users": [
{"first": "Homer", "last": "Simpson"},
{"first": "Hank", "last": "Hill"},
{"first": "Peter", "last": "Griffin"}
],
"books": [
{"title": "JavaScript", "author": "Flanagan", "year": 2006},
{"title": "Cascading Style Sheets", "author": "Meyer", "year": 2004}
]
}
RJSON:
{
"id": 7,
"tags": ["programming", "javascript"],
"users": [
{"first": "Homer", "last": "Simpson"},
[2, "Hank", "Hill", "Peter", "Griffin"]
],
"books": [
{"title": "JavaScript", "author": "Flanagan", "year": 2006},
[3, "Cascading Style Sheets", "Meyer", 2004]
]
}
答案 1 :(得分:0)
不应该是示例1的第二位是" rowname1" ..等等?我真的不会得到示例2所以我想我会瞄准你1.尽管没有事先对其进行预处理,但数据可以立即使用还有很多要说的。理由:我曾经花了太长时间来优化阵列系统,结果却完美无缺,但它现在要更新它。