现有数据:
string[] list = [
"a1:b1:c1",
"a1:b2:c2:d1:",
"a2:b2:c2:d2"
...
];
需要按":"符号分割成如下格式的JSON
[
{
"name": "a1",
"child": [
{
"name": "b1",
"child": [
{
"name": "c1",
"child": []
}
]
},
{
"name": "b2",
"child": [
{
"name": "c2",
"child": [
{
"name": "d1",
"child": []
},
{
"name": "d2",
"child": []
}
]
}
]
}
]
}
]
求大神支招。。。
标签:
集合中的元素 长度也不是固定的吗? 如:"a1:b2:c2:d1:"
list.Select(t=>t.Split(":")).Select(t=>new {
name=t[0],
childre=new List{
new {。。。}
}
})
一行代码的事,要什么递归。
//Modify 不好意思 没注意是字符串,字符串更简单,把第二Select 做字符串格式化一下,再用Aggregate连接一下
数据量多的话直接用map好了 效率更高些
用递归三生三世