首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FasterXML杰克逊: JSON @符号?

FasterXML杰克逊: JSON @符号?
EN

Stack Overflow用户
提问于 2015-03-11 23:36:45
回答 1查看 2.8K关注 0票数 1

我有以下JSON:

代码语言:javascript
复制
"segmentid": {
    "mot": {
        "@displaytype": "B",
        "@type": "BLT",
        "#text": "Buss"
    },...

以下问题:

  • @的表示法是什么?
  • 如果它被用于特定的原因,我如何在杰克逊使用它?
EN

回答 1

Stack Overflow用户

发布于 2015-03-11 23:40:16

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

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

代码语言:javascript
复制
public YourJacksonClass {
     @JsonProperty("@displayType")
     private String displayType;

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

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

或者,如果您使用的是返回一个readTreeJsonNode方法,那么只需正常地访问它:

代码语言:javascript
复制
JsonNode node = mapper.readTree(...);
String type = node.get("segmentid").get("mot").get("@type");

当需要与对象一起序列化type info时,使用‘@’前缀属性也很常见。

代码语言:javascript
复制
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="@type")

当在您的"BLT"中使用TypeIdResolver时,可以将读取类型(在您的情况下为ObjectMapper )转换为实际类型。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28999427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档