我正在尝试将 CSV 转换为 Java,因为我正在使用 jackson 库。但是当我转换值时,整数值带有引号。如何解决这个问题呢。CSV 示例data1,data2Test,1NewTest,2我期待[{ "data1": "Test1", "data2": 1}, { "data1": "NewTest", "data2": 2}]但我越来越[{ "data1": "Test1", "data2": "1"}, { "data1": "NewTest", "data2": "2"}]
2 回答

呼啦一阵风
TA贡献1802条经验 获得超6个赞
在 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");
}

森栏
TA贡献1810条经验 获得超5个赞
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 添加一个检查。
添加回答
举报
0/150
提交
取消