Преобразовать буферизованный ридер в JSONObject (json -простой) - PullRequest
0 голосов
/ 04 мая 2020

Я вызываю Rest API в GET, и мне нужно проанализировать ответ и принять значение ключа. Я использую:

<dependency>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
            <version>1.1.1</version>
        </dependency>

Это мой код:

if (responseCode == HttpURLConnection.HTTP_OK) {
            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            StringBuilder sb = new StringBuilder();
            while ((readLine = in.readLine()) != null) {
                sb.append(readLine);
            }
            JSONObject jsonObject = new JSONObject(sb.toString());
            jsonObject.get();
            in.close();

Но в JSONObject jsonObject = new JSONObject(sb.toString()); выдается ошибка Ошибка: (32, 63) java: несовместимые типы: java .lang.String нельзя преобразовать в java .util.Map

Большое спасибо.

1 Ответ

1 голос
/ 04 мая 2020

Вы должны использовать JSONParser для получения данных из строки:

JSONParser parser = new JSONParser(); 
JSONObject json = (JSONObject) parser.parse(sb.toString());

JSONObject используется для сериализации его данных в строку JSON с помощью метода toJSONString().

...