java - 如何使用带有不带引号的数字值的java将csv转换为json
问题描述
我正在尝试将 CSV 转换为 Java,因为我正在使用 jackson 库。但是当我转换值时,整数值带有引号。如何解决这个问题呢。
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 添加一个检查。
推荐阅读
- java - 从 Java 程序 (AWS CDK) 检索现有 VPC
- python - pd.read_excel 中的参数无效
- sql - 如何将 varchar 列表传递给 Oracle 中的过程?
- vuetify.js - Vuetify Snackbar:点击不会调用我的函数
- macros - 如何将宏的列表参数转换为经过大量修改但引用的列表?
- javascript - 使用淘汰赛和 json 列表我如何为列表中的每个项目显示一个复选框,然后仅在选中时显示它
- python - Python 创建文件夹树
- python - 为什么python中的beautifultable不适合表格的内容?
- git - Flutter:如何获取 Firebase 插件的 GitHub 主版本
- node.js - 无法在 VSCode 上调试 Typescript