我必須將 json 從camelCase 轉(zhuǎn)換為kebab-case。例子:My Json:{ "disclaimerConfirmed" : true}我需要:{ "disclaimer-confirmed" : true}我無法使用 @JsonProperty,因?yàn)樗鼤谰弥孛藢傩?。我正在尋找將消?Json (可以作為字符串)并返回修改后的 json (作為字符串)的東西。
2 回答

白衣染霜花
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個贊
Jackson 支持命名策略,因此您可以讀取要映射的輸入字符串(使用駝峰命名策略),然后將映射寫回字符串(使用原生支持的kebab-case );
在沒有注釋的ObjectMapper中切換這些約定的具體方法是:
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.*);

慕慕森
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個贊
您可以針對不同的情況使用不同的序列化器,或者您可以創(chuàng)建 pojo 并@JsonProperty在需要時使用它們。
例如,
class A {
private String disclaimerConfirmed;
}
class AkebabCase {
@JsonProperty("disclaimer-confirmed")
private String disclaimerConfirmed;
}
因此,如果您想序列化為 kebab-case,您可以使用轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換A,AkebabCase然后進(jìn)行序列化。
添加回答
舉報(bào)
0/150
提交
取消