选择一些字段的Java bean到JSON

时间:2015-02-14 11:08:12

标签: json javabeans

我有Java bean:

public class User {
    private int id;
    private String name;
    private Address address;
    private List<String> favoriteBooks;
    private List<String> favoriteFilms;

    //getters and setter
}

我希望将User类的实例转换为JSON格式,但只选择三个字段:id,name,favoriteBooks。我搜索了一些像

这样的解决方案
String[] fieldNames = { "id", "name", "favoriteBooks" };
JsonObject jo = new JsonObject(user, fieldNames);

我该怎么办?

修改 我在https://stackoverflow.com/a/13792700使用杰克逊图书馆找到了答案

3 个答案:

答案 0 :(得分:1)

您可以尝试GSON库,它允许您将bean转换为json,反之亦然。

答案 1 :(得分:0)

使用 jakson 库,您可以使用!$注释标记属性,以将其排除在转换之外。

答案 2 :(得分:0)

在泽西岛2(MOXy或杰克逊2)中有可能。对于像这样的查询,

<section class="article typo">
    <%- post.excerpt || post.content %>
    <% if (post.excerpt) { %>
      <div class="readmore">
          <a href="<%- url_for(post.path) %>">Read More</a>
      </div>
    <% } %>

它会返回这个json:

const httpRequestOptions = {
    hostname: 'site.address.com',
    headers: {
       'User-Agent': 'Chrome/59.0.3071.115'
    }
};

查找示例here