JSON仅带有选定字段的Java对象 [英] Java object to JSON with only selected fields
本文介绍了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屋!
查看全文