Android JSONObject.put(字符串,字符串)不工作

Android JSONObject.put(字符串,字符串)不工作,android,json,android-studio,Android,Json,Android Studio,我想将字符串值放入JSONObject.put(“string”,value)方法,但它不起作用 请参阅附带的屏幕截图,并说明如何解决此问题 添加尝试。。捕获 String value = myInput.getText().toString(); 把你的代码放进试试。。catch阻塞,因为可能发生异常 String data = ""; String val = "hello"; try { JSONObject j = new JSO

我想将字符串值放入
JSONObject.put(“string”,value)
方法,但它不起作用

请参阅附带的屏幕截图,并说明如何解决此问题


添加
尝试。。捕获

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

把你的代码放进
试试。。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();
            }

您应该将代码包装在try catch

 try{
         JSONObject params = new JSONObject(data);  
    }
 catch (JSONException e)
    {
        e.printStackTrace();
    }
为什么必须尝试捕获???

有两种异常:已选中未选中

  • 检查异常可以被认为是编译器发现的异常,并且编译器知道它有发生的机会,因此您需要捕获或抛出它

  • 未检查的异常是一种运行时异常,这意味着这些是应用程序内部的异常情况,应用程序通常无法预测或从中恢复

  • JSONException是一种检查异常类型。检查的异常需要在编译时处理


    如果解析失败或未生成JSONObject,则新建JSONObject(数据)将抛出JSONException。因此,建议在编译时将其包装在一个try-catch块中&底层IDE将显示相同的错误消息。

    使用try-catch,因为您忘记附加屏幕截图。我的问题不是什么错误。为什么try-catch是必须的,因为可能出现异常,所以catch-block-handleback可能是异常出现,因此捕获块句柄
    try {
        JSONObject j = new JSONObject(data);
    } catch (JSONException e) {        
        e.printStackTrace();
    }