我有一个示例CSV消息:
header1,header2,header3
value1,value2,{"name":"John","age":30,"car":null}
如何将其转换为嵌入式JSON
的形式,如下所示:
{
"header1": "value1",
"header2": "value2",
"header3": "{\"name\":\"John\",\"age\":30,\"car\":null}"
}
我正在使用Jackson
架构生成器和默认列分隔符:
CsvSchema.builder().disableQuoteChar().setUseHeader(true).build();
CsvMapper.builder().enable(CsvParser.Feature.IGNORE_TRAILING_UNMAPPABLE, CsvParser.Feature.WRAP_AS_ARRAY).build();
3条答案
按热度按时间cgyqldqp1#
显示的
CSV
内容已损坏。包含列分隔符的值应使用引号字符括起来。如果我们无法更改生成它的应用程序,则需要在反序列化过程之前对其进行修改。此示例很简单,因此我们只需将{
替换为|{
,将}
替换为}|
,并将|
设置为引号字符。但是对于带有内部对象的JSON
有效载荷,我们只需要替换第一个{
和最后一个}
括号。代码如下所示:以上代码打印:
izkcnapc2#
您可以使用csv JS库,如json-2-csv
uklbhaso3#
您可以按如下方式
org.json.CDL
: