Spring Boot json变量名以数字开头

zpqajqem  于 2022-11-23  发布在  Spring
关注(0)|答案(2)|浏览(128)

示例json

{
"11var":"value1",
"11var2":"val2",
"11var3":"val3",
"11var4":"val444",
"11var5":"val5",
.....
}

如何在最新的Sping Boot 和Jackson设置中将此转换为Pojo?
PS:我知道我们可以对所有变量执行@JsonProperty("11var")等操作。我的观点是,还有其他方法吗?这里的主要问题是,我们不能在java检查here中以数字开始变量名

bgtovc5b

bgtovc5b1#

使用map和JacksonobjectMapper

String json = "{\"11var\":\"value1\",\"11var2\":\"val2\",\"11var3\":\"val3\",\"11var4\":\"val444\",\"11var5\":\"val5\"}";

ObjectMapper objectMapper = new ObjectMapper();

Map<String, Object> map = objectMapper.readValue(json, Map.class);
System.out.println(map.get("11var"));
5m1hhzi4

5m1hhzi42#

您可以使用Jackson Custom Serialization/Deserialization
并将其注册到类级别

@JsonSerialize(using = ItemSerializer.class)
public class Item {
    ...
}

相关问题