Java преобразовать String в Object, а затем в JSON - PullRequest
0 голосов
/ 04 августа 2020

Я использую Java 8, Spring Boot et c.

У меня следующая проблема:

  1. Я сохраняю JSON из тела запроса в Mongodb как текст : {"MyValue1": "False"}
  2. Затем я получаю значение из Mon go: ControllerApi.findById(someParam) В результате я получаю DisplayObject с полем:

ответ частного объекта (класс генерируется openapi); например: "{MyValue1: False}"

@JsonPropertyOrder({"commandId", "response"})
public class DisplayObject{
    public static final String JSON_PROPERTY_COMMAND_ID = "commandId";
    private String commandId;
    public static final String JSON_PROPERTY_RESPONSE = "response";
    private Object response;
}

И значение ответа: "{MyValue1: False}"

Затем я пытаюсь преобразовать объект «ответ» в свой POJO:

public class MyResult   {
 private Boolean MyValue1;
 private Boolean MyValue2;
 private Boolean MyValue3;

}

Но получаю сообщение об ошибке:

Encountered error converting from json

, потому что ObjectMapper не может преобразовать эту String: response.toString() в MyResult.

Возникает вопрос, почему ControllerApi.findById(someParam) возвращенный объект DisplayObject с полем Object response со значением "{MyValue1: False}" вместо "{"MyValue1": "False"}" ???

Что делать? Измените ответ поля в DisplayObject на JsonNode?

Или, может быть, мне следует использовать String вместо Object для поля response в моем DisplayObject

UPDATE :

В понедельник go У меня есть {"MyValue1": "False"}

, но после вызова конечной точки с телом ответа DisplayObject в результате в поле DisplayObject.response я получаю {MyValue1=False}

ПОЧЕМУ ?? ?? В чем дело??? У меня действительно НЕТ ИДЕИ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...