我有两种方法可以将数据(json字符串)发送到服务器。
1)isBullet()
例如。 map<key,list>
这代表组件的价值&#34; ab&#34;是1。
2){"components":["ab","bc","cd"],"values":[1,2,3]}
例如。 map<key,values>
现在上面的示例包含三个组件,但我想发送数千个组件,以便在大小和性能方面更具可扩展性。
如果您觉得我错过了一些细节,请随时提出。
答案 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 更简单,更易读。带宽差异可以忽略不计。
但你应该决定哪种解决方案更适合你的应用。