首页 新闻 搜索 专区 学院

c# json序列化转换问题

0
悬赏园豆:5 [已解决问题] 解决于 2016-11-08 15:50

怎么把字符串数组[{ "Typeyname":“a”, "name":"1"},{ "Typeyname":“a”, "name":"2"},{ "Typeyname":“b”, "name":"3"},{ "Typeyname":“b”, "name":"4"}]
变为下列格式
[{"Typeyname":"a",children: [{ "name":"1"},{ "name":"2"}]},
{"Typeyname":"b",children: [{ "name":"3"},{ "name":"4"}]}] 

按类别分类

sofootball的主页 sofootball | 初学一级 | 园豆:44
提问于:2016-11-07 16:07
< >
分享
最佳答案
0

已经解决111

sofootball | 初学一级 |园豆:44 | 2016-11-08 15:48
其他回答(3)
0

可以使用 Newtonsoft.json 非常方便,还支持linq 操作!

收获园豆:1
sharplizhi | 园豆:366 (菜鸟二级) | 2016-11-07 16:11

具体要怎么实现呢?

支持(0) 反对(0) sofootball | 园豆:44 (初学一级) | 2016-11-07 16:13

@XianBin_Zhang: 先建一个对象两个property(Typename,name)让其反序列化出来,然后再建2个对象,一个对象x一个属性(name),另一个Typename(string),children(List<x>),中间代码倒腾下把前面反序列化出来的对象塞给x,然后再序列化

支持(0) 反对(0) Daniel Cai | 园豆:10374 (专家六级) | 2016-11-07 16:35

@Daniel Cai: 没搞定

支持(0) 反对(0) sofootball | 园豆:44 (初学一级) | 2016-11-07 17:18
0

最土鳖的办法直接循环判断再用新的数组接收也可以啊

收获园豆:2
骑火箭的牛头人 | 园豆:221 (菜鸟二级) | 2016-11-07 16:25
0

将[{ "Typeyname":“a”, "name":"1"},{ "Typeyname":“a”, "name":"2"},{ "Typeyname":“b”, "name":"3"},{ "Typeyname":“b”, "name":"4"}]反序列化成 list<T> a;

然后a.groupby(m=>m.typeyname).select(m=>new{typeyname=m.key,children=m.vlaues})

然后再序列化成json字符串.

总的来说就是反序列化.linq查询,序列化

收获园豆:2
吴瑞祥 | 园豆:28937 (高人七级) | 2016-11-07 16:41

linq查询,以前没有用过这厮,还得去了解下

支持(0) 反对(0) sofootball | 园豆:44 (初学一级) | 2016-11-07 16:47

@XianBin_Zhang: 这是lamda,不是linq

支持(0) 反对(0) 大兄弟竹子 | 园豆:45 (初学一级) | 2016-11-07 17:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册