java - java - 如何在Java中为管道分隔符创建JSON?
问题描述
假设我有这个结构
FirstName| Auro
LastName|Winkies
Age|26
我们如何将其转换为 json 我希望管道分隔符之前的单词|
应该在L
属性中,管道分隔符之后的单词|
应该被打乱并将其保存到另一个属性R
中,并且该C
属性就像Winkies
在2 position
管道分隔符之后一样,同样auro
是在1 position
并且26
在3 position
是否可以在 java 中创建这个 json 结构。
我想首先我需要将其拆分\n
并进一步拆分为\\|
{
"L": ["FirstName" , "LastName" , "Age"],
"R": ["Winkies" , "Auro" , "26"],
"C":["2" ,"1" , "3"]
}
如果可能的话,任何人都可以帮助我解决逻辑
解决方案
我没有找到“C”字段的实用程序,但这是解决方案
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import com.fasterxml.jackson.databind.node.ObjectNode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public static void main(final String[] args) {
String data = "FirstName|Auro\n" +
"LastName|Winkies\n" +
"Age|26";
List<String> l = new ArrayList<>();
List<String> r = new ArrayList<>();
ObjectNode node = JsonNodeFactory.instance.objectNode();
List<String> c = Arrays.asList("1,2,3");
String[] split = data.split("\n");
for (String s : split) {
int i = s.indexOf('|');
l.add(s.substring(0, i));
r.add(s.substring(i + 1, s.length()));
}
node.put("L",l.toString());
node.put("R",r.toString());
node.put("C",c.toString());
System.out.println(node);
}
推荐阅读
- node.js - ng 无法识别并且 npm run 找不到 package.json
- google-cloud-platform - Google Cloud Endpoints Developer Portal 删除获取 API 密钥
- ios - 心电图期间无法获取用户的平均心率
- sql - 如何在presto sql中将不同的行值变成列
- .net-core - Soap Core 注册 IFaultExceptionTransformer 失败
- c# - 谷歌表 - 单元格中的自动格式化代码块(如果可能,C#)
- flutter - 颤振 - 没有为“对象”类型定义吸气剂“消息”
- node.js - Mocha、Node、chai、sinon 单元测试并没有按预期工作
- database - EFCore 3.x 在旧版上创建新的 DbContext
- postgresql - postresql 中的关系表