JSON десериализовать свойство, включая $ - PullRequest
0 голосов
/ 17 сентября 2018

Имея JSON с таким свойством, которое я пытаюсь десериализовать с Джексоном:

 { "$fooid" : "yfdfjjhkjhkljhd768622323jjj" }

Проблема в том, что я не могу прочитать ключ "$ fooid".

Я пытался пометить свойство

@JsonAlias("$fooid")
private String fooid;

также как

@JsonProperty("$fooid")
private String fooid;

Оба варианта не будут работать, свойство fooid всегда равно нулю.

Как десериализовать это на Java? Есть намеки?

1 Ответ

0 голосов
/ 17 сентября 2018

Я не уверен, как ты это делаешь, но у меня работает на версии 2.0.0, делающей это.

public class JSonAliasWithSpecialCharacters {

    public static void main(String[] args) throws IOException {
        String json="{ \"$fooid\" : \"yfdfjjhkjhkljhd768622323jjj\" }";
        ObjectMapper mapper = new ObjectMapper();
        JsonFooid fooid = mapper.readValue(json, JsonFooid.class);
        System.out.println("read the foodid:"+fooid.getFooid());
    }

}

public class JsonFooid {

    @JsonProperty("$fooid")
    private String fooid;

    public String getFooid() {
        return fooid;
    }

    public void setFooid(String fooid) {
        this.fooid = fooid;
    }

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