更好的方式将数据发送到服务器

时间:2015-05-08 06:35:06

标签: json optimization

我有两种方法可以将数据(json字符串)发送到服务器。

1)isBullet()

例如。 map<key,list>

这代表组件的价值&#34; ab&#34;是1。

2){"components":["ab","bc","cd"],"values":[1,2,3]}

例如。 map<key,values>

现在上面的示例包含三个组件,但我想发送数千个组件,以便在大小和性能方面更具可扩展性。

如果您觉得我错过了一些细节,请随时提出。

1 个答案:

答案 0 :(得分:0)

服务器端,如果你想要密钥的价值,你将不得不这样做&#34; bc&#34;:

选项1:{"components":["ab","bc","cd"],"values":[1,2,3]}

String json = [...] // got json from client
MyJsonObject jo = new Gson().fromJson(json, MyJsonObject.class);

int index = jo.getComponents().indexOf("bc"); // O(n)
int value = jo.getValuess().get(index);       // O(1)

选项2:{"ab":1,"bc":2,"cd":3}

String json = [...] // got json from client
MyJsonObject jo = new Gson().fromJson(json, MyJsonObject.class);

int value = jo.get("bc");       // O(1) ~ O(n)

我相信选项2 因为性能更好而更好。此外,它比选项1 更简单,更易读。带宽差异可以忽略不计。

应该决定哪种解决方案更适合你的应用。