杰克逊 - 将java对象转换为json - 需要所有关键键到大写 [英] Jackson - converting java object to json - Need all key keys to upper case

查看:237
本文介绍了杰克逊 - 将java对象转换为json - 需要所有关键键到大写的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

需要您的帮助才能将java对象转换为json。
当前json结果显示小写字母的所有键,我需要它是大写。

Need your help on conversion of java objects to json. current the json result showing all the key in small letter case, i need it to be upper case.

ObjectMapper mapper = new ObjectMapper();
Writer strWriter = new StringWriter();
mapper.writeValue(strWriter, obj);
String jsonString= strWriter.toString();

,结果是

[{"flags":"1","name":"Peter","location":"London","startDate":"2012-01-06 00:00"}]

但我想要这样的结果(所有关键键值应该是大写的):

but i want results like this (all key key value should be in UPPER CASE):

[{"FLAGS":"YU","NAME":"Peter","LOCATION":"London","STARTDATE":"2012-01-06 00:00"}]

也可以这样也(大写的关键首字母):

and also is it possible to get like this also (key first letter in upper case):

[{"Flags":"1","Name":"Peter","Location":"London","StartDate":"2012-01-06 00:00"}]

任何人都可以帮助我。

提前致谢。

推荐答案

杰克逊有多种方法可以做到这一点。

There are multiple ways to do it with Jackson.

你可以注释您的对象使用 @JsonProperty 注释在您的字段或您的getter方法上。

You could annotate your object with @JsonProperty annotations on your fields or on your getter methods.

示例:

@JsonProperty("Name")
public final String name;

@JsonProperty("Location")
public String getLocation() {
  return location;
}



实施JsonSerializableWithType接口



Implement JsonSerializableWithType interface

@Override
public void serialize(final JsonGenerator jG, final SerializerProvider p)
    throws IOException, JsonProcessingException
{
    serializeWithType(jG, p, null);
}

@Override
public void serializeWithType(final JsonGenerator jG, final SerializerProvider p, final TypeSerializer typeSer)
    throws IOException, JsonProcessingException
{
    // here you can do your own serialization
}

这篇关于杰克逊 - 将java对象转换为json - 需要所有关键键到大写的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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