为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用带有数字值而不带引号的java将csv转换为json

如何使用带有数字值而不带引号的java将csv转换为json

墨色风雨 2021-07-19 16:04:13
我正在尝试将 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");

}


查看完整回答
反对 回复 2021-07-23
?
森栏

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 添加一个检查。


查看完整回答
反对 回复 2021-07-23
  • 2 回答
  • 0 关注
  • 198 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号