有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我无法创建JSONObject的实例

这是我的代码:

public String prepareParam(HashMap<String, String> params) {
    JSONObject json = new JSONObject(params);
    return json.toString();
}

根据Android developer documentation,可以使用Map<String, String>的构造函数。然而,我得到了一个例外:

Exception in thread "main" java.lang.RuntimeException: Stub!
at org.json.JSONObject.<init>(JSONObject.java:87)
at com.example.spc.utils.JSONPararmeterPrepareStaregy.prepareParam(JSONParameters.java:12)

共 (1) 个答案

  1. # 1 楼答案

    很可能你把错误传递给了prepareParam。简单的junit测试工作正常:

    public class JSONObjectTest {
        public String prepareParam(Map<String, String> params) {
            JSONObject json = new JSONObject(params);
            return json.toString();
        }
    
        @Test public void test(){
            Map<String, String> map = new HashMap<String, String>();
            map.put("key1", "value1");
            map.put("key2", "value2");
            String str = prepareParam(map);
            assertEquals("error", "{\"key1\":\"value1\",\"key2\":\"value2\"}", str);
        }
    }
    

    顺便说一句:如果prepareParamJSONObject一样接受Map<String, String>就更好了