8 回答

TA贡献1809条经验 获得超8个赞
既然是协议,就要双方约定好,最好有接口文档说明,json虽然只是字符串,但里面的值是有类型区别的,android说他不用标注也许只是他觉得他能看懂你json数据的类型(但不一定是你后端本来想给的数据类型,比如你给float型,他用double取,对于精度要求不高的数值,是没什么区别的),而iOS的可能想清楚严谨一点,他想确定确切的值类型,这时候一定要统一一下,要不以后出问题了你们就说不清了。

TA贡献1802条经验 获得超5个赞
实际是JSON是有类型的,""扩起来的才是字符串,"value":"1" 和 "value":1是不同的,
当然IOS说的一定要标注,只是他那边不想处理,希望后台能处理好直接用,android只是帮你处理了而已。
这不分谁对谁错,而只是谁愿意多做点。

TA贡献1887条经验 获得超5个赞
不需要,map也能够直接解析
{"aaa,bbb";"aaa,bbb"}
ArrayMap arrayMap = new ArrayMap();
try {
org.json.JSONObject obj = new org.json.JSONObject(content);
Iterator<String> iterator = obj.keys();
while (iterator.hasNext()) {
String key = iterator.next();
String value = (String) obj.get(key);
arrayMap.put(key, value);
}
} catch (JSONException e) {
e.printStackTrace();
}
添加回答
举报