我们有两种类型的列表需要从服务器传递到客户端,一种是受欢迎城市列表,另一种是非受欢迎城市列表。
我们的第一个选择是分别为流行和非流行城市发回不同的json对象,如:
{
"Cities": {
"PopularCities": [
{"id":1, "name":"PopularCity1"},
{"id":2, "name":"PopularCity2"}
],
"NonPopularCities": [
{"id":3, "name":"NonPopularCity1"},
{"id":4, "name":"NonPopularCity2"}
]
}
}
OR
以相同的JSON获取所有城市并使用旗帜区分流行和非流行,例如:
{
"Cities": {
{"id":1, "name":"PopularCity1", "isPopular": true},
{"id":2, "name":"PopularCity2", "isPopular": true}
{"id":3, "name":"NonPopularCity3", "isPopular": false},
{"id":4, "name":"NonPopularCity4", "isPopular": false}
}
}
哪种方法更好?
答案 0 :(得分:0)
这个问题很模糊,因为两种方法都需要在使用前进行评估。如果我们按设计模式进行操作,则密钥应根据需要为元数据和值的名称。因此,方法1看起来像
{"Cities": [{
"type":"Popular Cities",
"cityList" :[
{"id":1, "name":"PopularCity1"},
{"id":2, "name":"PopularCity2"}
]},
{"type":"Some Other Cities",
"cityList" :[
{"id":1, "name":"SomePopularCity1"},
{"id":2, "name":"SomePopularCity2"}
]},
{"type":"Non Popular Cities",
"cityList" :[
{"id":1, "name":"NonPopularCity1"},
{"id":2, "name":"NonPopularCity2"}
]}
]}
第二种方法似乎使用了标志变量,它将再次计算每次过滤时间,这似乎不是一个好主意。