JSONObject login = new JSONObject();
login.put("Key1", "Value1");
我只是想创建一个带键和值对的简单JSON对象。我得到了这个例外“Unhandled exception type JSONException
”。
Map<String,String> map = new HashMap<String,String>
map.put("key1", "value1");
它们是否都是使用键值对创建对象的等效方式。在创建需要发送到服务的对象时,这是首选方法。
答案 0 :(得分:18)
未处理的异常类型JSONException
您需要将代码包装到try-catch块中。这是你的警告。
JSONObject login = new JSONObject();
try {
login.put("Key1", "Value1");
}
catch (JSONException e) {... }
它们是否都是创建具有键值的对象的等效方式 对。在创建需要的对象时,这是首选方法 发送到服务。
JSONObject.put()
抛出JSONException并且Map.put()
不抛出。
两者都是键值对,但它们不同。
JSON
是通常用于数据交换的特定轻量级格式,如果您创建它,您可以轻松地通过网络传递其字符串表示。
使用Map
作为数据结构,它是不可能的(直接转换为字符串),或者换句话说,您必须通过Map中的KeySet()
以及每个密钥存储区的密钥来使用它如果你想要实现与JSON
几乎相同的东西,那么将值转换为String(例如使用StringBuilder)。
因此,如果您想在&#34;不同的机器之间传递数据&#34;通过网络,直接指定JSON
。
答案 1 :(得分:1)
转到JSONObject:
如果您传递数据的服务接受JSONObject
转到收藏