首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌JsonFactory (JacksonFactory) fromString不工作-所有字段均为空

谷歌JsonFactory (JacksonFactory) fromString不工作-所有字段均为空
EN

Stack Overflow用户
提问于 2016-06-18 19:36:17
回答 1查看 335关注 0票数 2

我有一个对象:

代码语言:javascript
复制
@JsonIgnoreProperties(ignoreUnknown = true)
public class OauthPrincipal {
    @JsonProperty
    String id;

    @JsonProperty
    String name;

    @JsonProperty
    String email;

    public OauthPrincipal() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    ... other [get|set]ters
}

当我这样做的时候,它是有效的:

代码语言:javascript
复制
final String jsonIdentity = request.execute().parseAsString();
debug(jsonIdentity);
ObjectMapper om = new ObjectMapper();
OauthPrincipal o;
o = om.readValue(jsonIdentity, OauthPrincipal.class);
return o;

但是当我使用JsonFactory (它是一个new JacksonFactory() )时,对于同一个JSON,所有字段都是空的

jf.fromString(json, OauthPrincipal.class

日志中的JSON是:

代码语言:javascript
复制
07:31:44,040 ERROR [stderr] (default task-6)  {
07:31:44,040 ERROR [stderr] (default task-6)  "id": "11",
07:31:44,040 ERROR [stderr] (default task-6)  "email": "example@gmail.com",
07:31:44,040 ERROR [stderr] (default task-6)  "verified_email": true,
07:31:44,040 ERROR [stderr] (default task-6)  "name": "mike",
07:31:44,040 ERROR [stderr] (default task-6)  "given_name": "mike",
07:31:44,040 ERROR [stderr] (default task-6)  "family_name": "b",
07:31:44,040 ERROR [stderr] (default task-6)  "link": "https://plus.google.com/xyz",
07:31:44,040 ERROR [stderr] (default task-6)  "picture": "https://lh3.googleusercontent.com/snipped/photo.jpg",
07:31:44,040 ERROR [stderr] (default task-6)  "locale": "en"
07:31:44,040 ERROR [stderr] (default task-6) }
EN

回答 1

Stack Overflow用户

发布于 2017-11-16 23:21:56

谷歌的Client Library JSON显示了@Key符号的用法:

代码语言:javascript
复制
public class Item {
  @Key
  public String id;
  @Key
  public String value;
}

我用JsonFactory (下面的JacksonFactory )也遇到了同样的问题,在我的类定义中使用@Key符号解决了这个问题。

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

https://stackoverflow.com/questions/37896471

复制
相关文章

相似问题

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