我的问题是JSON如何使用序列化集,因为在我的例子中," propertyItems.getAddress()。getCity()。getProvinces()。getCities()"是一组城市(Set),我正在迭代for-each循环并将其放入json数组中。但它包含两个城市,即 MONTREAL和QuebecCity 。但我的网址只是向我显示" MONTREAL "。为什么会这样? Json不能序列化提供给它的集合吗?
JSONArray jarray = new JSONArray();
try {
JSONObject obj = new JSONObject();
for(Cities city:propertyItems.getAddress().getCity().getProvinces().getCities()){
obj.put("City Name",city.getCityname());
}
jarray.put(obj);
catch (JSONException e) {
logger.error(Constants.METHOD_INSIDE_MESSAGE +"getAuthors",e);
}
return jarray.toString();
}
**网址输出:**城市名称:蒙特利尔
答案 0 :(得分:1)
对象中的名称应该是唯一的。
在您正在使用的JSON解析器/生成器实现中,即。 JSONObject
,似乎钥匙是独一无二的。每当你put
一个具有相同键的对象时,它就会覆盖在它之前添加的对象。无论放多少,JSONObject
都只包含一个条目。