public class User{
private Long id;
private String firstName;
}
{
"inputFields":[
{
"name":"id",
"value":"123"
},
{
"name":"firstName",
"value":"George"
}
]
}
尝试使用Jackson,但它看起来不提供这样的序列化。
Jackson可以使用自定义序列化程序,在此程序中可以控制输出的生成。以下是执行此操作的步骤:
注释POJO以使用自定义序列化程序
@JsonSerialize(using = CustomSerializer.class)
static class User{
public Long id;
public String firstName;
public User(Long id, String firstName) {
this.id = id;
this.firstName = firstName;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
}
声明序列化程序
static class CustomSerializer extends JsonSerializer{
@Override
public void serialize(Object value, JsonGenerator jgen, SerializerProvider serializers) throws IOException, JsonProcessingException {
jgen.writeStartObject();
jgen.writeArrayFieldStart("inputFields");
Field[] fields = value.getClass().getDeclaredFields();
for (Field field : fields) {
try {
field.setAccessible(true);
jgen.writeStartObject();
jgen.writeObjectField("name", field.getName());
jgen.writeObjectField("value", field.get(value));
jgen.writeEndObject();
} catch (IllegalArgumentException | IllegalAccessException e) {
e.printStackTrace();
}
}
jgen.writeEndArray();
jgen.writeEndObject();
}
}
public static void main(String[] args) throws JsonProcessingException {
User user = new User(1L, "Mike");
ObjectMapper om = new ObjectMapper();
om.writeValueAsString(user);
System.out.println(om.writeValueAsString(user));
}
{"inputFields":[{"name":"id","value":1},{"name":"firstName","value":"Mike"}]}
问题内容: 我正在将struts2用于Action,将jquery用于UI … 我想知道如何将Map对象转换为JSON对象并将其发送回UI, 现在可以在JSP页面中将其打印为普通的Java Map对象: 但我希望它是这样的: 我将如何实现这一目标…? 问题答案: 尝试Gson: 不过,我不建议将这种代码放入JSP。诸如此类的事情应该存在于Servlet或Action类之类的控制器中。 您还绝对不希
问题内容: 我对服务进行了调用,并将响应存储在中。但是,我试图将其转换为类对象并得到错误。这是我的代码: 响应如下所示: 这是该类的样子: 但是我得到了错误: 我究竟做错了什么? 编辑1: 这是从答案中使用gson的尝试: 但是我得到了错误: 问题答案: 找出问题所在。需要提取jsonobject而不是获取字符串。这是解决此问题的行:
例如:Date值为:“dateCollected”:fri Jul 07 00:00:00 IST 1989, 但它只服用星期五而不是整个日期。
我应该使用什么API将Java对象转换为CSV。我可以使用google gson将java对象转换为CSV格式吗?
我怎么能转换java对象到xml?我试图转换一个传入的java对象到xml在Spring集成与转换器豆。有没有其他的方法比编组在Jaxb?喜欢使用@TypeConver。或实现转换器类。
问题内容: 我希望我的JSON看起来像这样: 到目前为止的代码: 和 我只是缺少如何使用Jackson将Java对象转换为JSON的部分: 我的问题是:我的课程正确吗?我必须调用哪个实例,以及如何实现此JSON输出? 问题答案: 要使用Jackson 转换JSON: