![](/img/trans.png)
[英]How to convert CSV to JSON with value in double quotes using com.fasterxml.jackson.dataformat.csv.CsvMapper in Java?
[英]how to convert csv to json using java with number value without quotes
我正在嘗試使用傑克遜庫將CSV轉換為Java。 但是,當我轉換值時,整數值帶有引號。 如何解決這個問題呢。
CSV范例
data1,data2
Test,1
NewTest,2
我期待
[{
"data1": "Test1",
"data2": 1
}, {
"data1": "NewTest",
"data2": 2
}]
但是我越來越
[{
"data1": "Test1",
"data2": "1"
}, {
"data1": "NewTest",
"data2": "2"
}]
Java不會以相同的方式對待1
和"1"
。 您將不得不將其轉換為正確的數字。
try {
return new JsonPrimitive(Long.parseLong(num)) // parse as a Long.
} catch (NumberFormatException e){
return new JsonPrimitive(num); // it's not a number.
}
您可能還需要為Double添加支票。
在JSON 字符串上 ,仍然可以輕松完成以下操作:
String jsonWithNumbers(String json) {
return json.replaceAll("(\"data2\": *)\"(\\d+)\"", "$1$2");
//return json.replaceAll("(\"(data2|data4|data13)\": *)\"(\\d+)\"", "$1$2");
//return json.replaceAll("(\"[^\"]+\": *)\"(\\d+)\"", "$1$2");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.