json 序列化为数组

     我们通常从后台取到json格式的数据到前台进行展示,在这个过程中可能户遇到一些json格式不是自己想要的格式,今天本人就遇到一个棘手的问题,最后在师傅的协助下才进行了正确格式的转换。

     可以说最悲哀的莫过于后台可以正确的取到数据,然后在绑定的过程中去发现json格式死活都不对,这是很悲剧的事情,但是解决的办法总是有的,只是今天走了很多弯路,希望把这个问题记下来,防止以后再遇到类似的问题后卡壳

     今天遇到的一个问题是这样的:

      在做图表的过程中,需要绑定格式为

      [['item1',value1],['item2',value2],...]

      在这里的item和value都是后台的取到的一个值,如何直接序列化对象的话,结果如下:

      [["filed1":'item1',"filed2":'value1'],["filed1":'item2',"filed2":'value2']]

     很显然这样的结果不是我想要的,

     折腾了快一下午没整出来后,请师傅帮忙看一下,他做出以下改进,拿出来和大家共勉。

     首先申明一个结果集合,然后再循环已经得到的  item-value键值对集,最后序列化结果集合即可;

     现在总结如下:

           1.首先得到你想要的字段集合

           2.你要得到的json格式中有多少个[];就需要包含几层集合对象

           3.序列化大结合集合既可以

 

     部分代码如下:

         

 //想要得到的数据集合
 Dictionary<string,double> dic=new Dictionary<string,double>();
  //具体获取方法.....

 //申明最终想要的json格式集合
List<object> listResult=new List<object>();
for(int i=0;i<=dic.count();i++)
{
   //因为我想得到的格式为[[]],所以需要两次嵌套,里面的[]表示一个对象
    List<object> listitem=new List<object>();
    listitem.add(dic.ToList()[i].key);
    listitem.add(dic.ToList()[i].value);

    //再将上面的两个集合添加到结果集合中
    listResult.Add(listitem);
}

//然后再序列化即可得到
[[],[]]格式




//以上代码没有在任何IED中进行编码,纯属手敲,如复制会报错,仅仅提供部分思路和参考

 

 

 

           仅提供思路,仅供参考,欢迎评论!!!

 

 

 

 

    

 

转载于:https://www.cnblogs.com/DONET-LC/p/6206110.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值