JSON仅带有选定字段的Java对象 [英] Java object to JSON with only selected fields

查看:95
本文介绍了JSON仅带有选定字段的Java对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有类似的Java类:

I have java class like:

public class Sample{
 int foo=5;
 int bar=6;
}

现在我要生成JSON对象,但没有栏字段:

now I want to generate JSON object but without bar field:

{"foo":5}

实现此目标的最佳方法是什么? 我应该手动编写JSON字符串,还是可以使用某些库或生成器?

What is a best way to accomplish that? Should I compose JSON string manually, or can I use some library, or generator?

推荐答案

您可以使用Jackson来解决您的问题.请按照以下步骤-

You can use the Jackson to solve your problem. Follow the below step -

步骤1 -制作将Java对象转换为Json的方法

Step 1 - Make a method which will convert Java object to Json

public class JsonUtils {
    public static String javaToJson(Object o) {
            String jsonString = null;
            try {
                ObjectMapper objectMapper = new ObjectMapper();
                objectMapper.configure(org.codehaus.jackson.map.DeserializationConfig.Feature.UNWRAP_ROOT_VALUE,true);  
                jsonString = objectMapper.writeValueAsString(o);

            } catch (JsonGenerationException e) {
                logger.error(e);
            } catch (JsonMappingException e) {
                logger.error(e);
            } catch (IOException e) {
                logger.error(e);
            }
            return jsonString;
        }

}

第2步模型类

package com.javamad.model;

import org.codehaus.jackson.annotate.JsonIgnore;



public class Sample{
     int foo=5;
     public int getFoo() {
        return foo;
    }
    public void setFoo(int foo) {
        this.foo = foo;
    }
    @JsonIgnore
    public int getBar() {
        return bar;
    }
    public void setBar(int bar) {
        this.bar = bar;
    }
    int bar=6;
    }

第3步:将Java类转换为json

Step 3 Convert your java class to json

Sample sample = new Sample()
JsonUtils.javaToJson(sample);

这篇关于JSON仅带有选定字段的Java对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆