java.lang.String无法强制转换为org.json.simple.JSONObject simple-json

Ros*_*ena 5 java json simplejson

尝试使用google的simple-json解析一个简单的json时,我遇到了奇怪的问题.

这是我的代码不起作用:

String s = args[0].toString();
JSONObject json = (JSONObject)new JSONParser().parse(s);
Run Code Online (Sandbox Code Playgroud)

当我执行时,它会给我例外 java.lang.String cannot be cast to org.json.simple.JSONObject

但是,当我直接硬编码json时,它的工作正常.扫管笏可能是什么原因?

JSONObject json = (JSONObject)new JSONParser().parse("{\"application\":\"admin\",\"keytype\":\"PRODUCTION\",\"callbackUrl\":\"qwerewqr;ewqrwerq;qwerqwerq\",\"authorizedDomains\":\"ALL\",\"validityTime\":\"3600000\",\"retryAfterFailure\":true}");
Run Code Online (Sandbox Code Playgroud)

UPDATE

当我打印s时,它会给我输出如下:

"{\"application\":\"admin\",\"keytype\":\"PRODUCTION\",\"callbackUrl\":\"qwerewqr;ewqrwerq;qwerqwerq\",\"authorizedDomains\":\"ALL\",\"validityTime\":\"3600000\",\"retryAfterFailure\":true}"
Run Code Online (Sandbox Code Playgroud)

Ank*_*hal 6

我通过提供运行这个月食通过argumentsrun configuration.

 public static void main(String[] args) {
        String s = args[0].toString();
        System.out.println("=>" + s);
        try {
            JSONObject json = (JSONObject) new JSONParser().parse(s);
            System.out.println(json);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
Run Code Online (Sandbox Code Playgroud)

产量

=>{"application":"admin","keytype":"PRODUCTION","callbackUrl":"qwerewqr;ewqrwerq;qwerqwerq","authorizedDomains":"ALL","validityTime":"3600000","retryAfterFailure":true}


{"validityTime":"3600000","callbackUrl":"qwerewqr;ewqrwerq;qwerqwerq","application":"admin","retryAfterFailure":true,"authorizedDomains":"ALL","keytype":"PRODUCTION"}
Run Code Online (Sandbox Code Playgroud)