gpt4 book ai didi

java - FasterXML jackson : The JSON @ symbol?

转载 作者:行者123 更新时间:2023-11-29 03:11:43 26 4
gpt4 key购买 nike

我有以下 JSON:

"segmentid": {
"mot": {
"@displaytype": "B",
"@type": "BLT",
"#text": "Buss"
},...

以下问题:

  • @ 符号有什么用?
  • 如果出于特定原因使用它,我该如何在 Jackson 中使用它?

最佳答案

在这种情况下,它似乎只是一个普通的 JSON 属性。

你可以通过在类中使用 @JsonProperty 注解来获取它:

public YourJacksonClass {
@JsonProperty("@displayType")
private String displayType;

@JsonProperty("@type")
private String type;

@JsonProperty("#text")
private String text;
}

或者,如果您使用返回 JsonNodereadTree 方法,只需正常访问它:

JsonNode node = mapper.readTree(...);
String type = node.get("segmentid").get("mot").get("@type");

当需要将类型信息与对象一起序列化时,使用“@”前缀的属性也很常见。

@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="@type")

在您的例子中,读取类型 "BLT" 可以在您的 ObjectMapper 中使用 TypeIdResolver 时转换为实际类型.

关于java - FasterXML jackson : The JSON @ symbol?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28999427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com