我正在尝试为我的数据创建json对象。
我发现,我可以使用两种方法来做到这一点: -
put()
和element()
请建议我,应该使用。
我的数据是例如: -
key="id" value=32
提前致谢!!
答案 0 :(得分:2)
在检查源代码之后,看来put和元素之间的差异非常小。
主要区别在于,put似乎返回之前在您输入的键位于属性映射中的对象。所以,如果你有一个像这样结构的JSONObject:
{
"steve": 4,
"betty": 5
}
并执行如下命令:
Object frank = myJsonObject.put(“steve”,10);
frank的值现在为4,json对象现在看起来像这样:
{
"steve":10,
"betty":5
}
如果您使用过.element("steve", 10)
;在相同的情况下,从该方法返回的对象实际上是您的JSONObject。两者之间的另一个区别是put
方法的第一个参数是Object,而element
方法的第一个参数是String
。 put
方法只对发送到其中的第一个参数执行String.valueOf()
,然后调用element
方法,所以基本上它们都做同样的事情,只有put
更多灵活且技术上允许非字符串键,然后在调用element
方法之前将其转换为字符串。
简而言之,它们具有不同的参数和返回值,但put
方法无论如何都只调用了元素方法,因此JSONObject中没有真正的区别,但可能在您的外部代码中。
我猜jQuery用户更愿意使用element
,因为该语言与该语言的相似之处在于该方法返回调用对象。