JsonObjectclass
json-lib-2.2.3(net.sf.json)
有两种方法:
public void putAll( Map map )
和 的
public void accumulateAll( Map map )
我必须将所有地图详细信息放在JSONObject中。
我应该使用哪种方法以及为什么(即两者之间有什么区别)?
答案 0 :(得分:0)
来自accumulate
上的javadoc:
累积密钥下的值。它类似于元素方法,除了如果已经有一个存储在键下的对象,则JSONArray存储在键下以保存所有累积值。如果已经存在JSONArray,则将新值附加到其上。相反,replace方法替换了以前的值。
由此,accumulateAll
似乎会为地图中的所有值调用accumulate
,即对象中已存在的值不会被替换,而putAll
可能会替换现有值。 / p>
示例:
你有一个这样的对象:{"chars":"A"}
。
putAll
地图的"chars" -> "B"
会产生{"chars":"B"}
accumulateAll
地图的"chars" -> "B"
会产生{"chars":["A","B"]}