JSONObject.put(string,string) 不起作用。

3
String value = myInput.getText().toString();

我想将字符串值放入JSONObject.put("STRING",value)方法中,但它没有起作用。
请查看附加的屏幕截图并告诉我如何解决。 enter image description here

请使用try catch进行异常处理。 - Aditya Vyas-Lakhan
你忘记附上截图了。 - Shridutt Kothari
我的问题不是关于出现了什么错误。 - Kamal Oberoi
为什么try catch对此是必需的? - Kamal Oberoi
由于可能会出现异常,因此捕获块处理。 - Nitesh Pareek
使用 jsonObject.accumulate("{key}","{value}"); - Onkar Nene
3个回答

5

Add try.. catch

String data = "";
String val = "hello";
            try {
                JSONObject j = new JSONObject(data);
                j.put("VAL", val);
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

2
由于可能会出现异常,所以 catch 块来处理。 - Nitesh Pareek

4

您应该将代码放在try-catch块内部

try {
    JSONObject j = new JSONObject(data);
} catch (JSONException e) {        
    e.printStackTrace();
}

为什么try-catch是必需的??

有两种异常类型: 可查不可查

  1. 可查异常 是编译器可以发现的,编译器知道它有可能发生,所以需要捕获或抛出。

  2. 不可查异常 是运行时异常,这意味着它们是应用程序内部的异常条件,应用程序通常无法预计或从中恢复。

JSONException是Checked异常的一种。Checked异常需要在编译时处理。

new JSONObject(data) 如果解析失败或未生成JSONObject,将抛出JSONException。因此建议在编译时将其包装在try-catch块中,并且底层IDE将显示相应的错误消息。


2

将代码放入 try.. catch 块中,因为可能会出现异常

 try{
         JSONObject params = new JSONObject(data);  
    }
 catch (JSONException e)
    {
        e.printStackTrace();
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接