Разобрать ответ HTTP JSONObject в 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?


person N-M25    schedule 27.03.2015    source источник
comment
Какую банку вы используете для получения класса JSONObject?   -  person MJSG    schedule 27.03.2015
comment
json-простой-1.1.1.jar   -  person N-M25    schedule 27.03.2015


Ответы (1)


Пробовали ли вы создать JSONObject из его строкового представления (см. http://www.json.org/javadoc/org/json/JSONObject.html):

JSONObject result = new JSONObject(json)

где json — это строка, которую вы прочитали из InputStream

Примечание. Возможно, вам придется удалить последнюю новую строку char или даже вообще опустить новые строки.

person testinfected    schedule 27.03.2015