簡體   English   中英

如何在Java中預處理Json字符串::將大寫的字段名稱轉換為小寫的駝峰式名稱

[英]How to Pre Process Json String in Java :: Convert Capitalised Field names to lowerCase Camel case names

我當前的Android項目使用了許多Json Web服務。

我無法控制Json內容。

我希望將此Json直接保留到我的應用程序本地Realm數據庫中。

問題是“ Json字段名稱全部大寫”。

我不希望我的Realm DTO對象具有大寫的字段名,這就是錯誤的。

如何將大寫的字段名稱轉換為可接受的Java字段名稱格式?

是否有任何Json預處理庫將執行所需的大寫字段名稱轉換?

我意識到我可以使用Jackson / GSON類型庫來解決此問題,但是這意味着在我可以持久存儲數據之前將Json轉換為Java Pojo。

json字段名稱為“ ThisIsAFieldName”。

我想要的是將它們轉換為“ thisIsAFieldName”。

我認為您應該真正考慮讓JSON解串器處理此問題,但是,如果確實沒有這種可能性,則可以始終使用良好的舊字符串操作:

String input; // your JSON input
Pattern p = Pattern.compile("\"([A-Z])([^\"]*\"\\s*:)"); // matches '"Xxxx" :'
Matcher m = p.matcher(input);
StringBuffer output = new StringBuffer();
while (m.find()) {
   m.appendReplacement(output, String.format("\"%s$2", m.group(1).toLowerCase());
}
m.appendTail(output);

ideone測試

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM