在 java 中解析 HTTP JSONObject 响应

Parse HTTP JSONObject response in java

从端点“test”我返回 JSONObject:

@POST("/test")
    @PermitAll
    public JSONObject test(String name) {
    JSONObject jsonval=new JSONObject();
    json.put("key1",true);
    json.put("key2","test");
        return json;
    }

在检查返回值的方法中我想搜索 "key1" 的值。

BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
    String json = null;
    String res = "";

    while ((res = in.readLine()) != null) {
        json += res + "\n";
        }
    in.close();

    if (jsonData has key1 with value true){
    //do sth
    }
    else{
    //do sth else
    }

如何解析返回的 JSONObject?

您是否尝试过从其字符串表示构造 JSONObject(请参阅 http://www.json.org/javadoc/org/json/JSONObject.html):

JSONObject result = new JSONObject(json)

其中 json 是您从 InputStream

中读取的字符串

注意:您可能必须删除最后一个换行符,甚至完全省略换行符