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中进行编码,纯属手敲,如复制会报错,仅仅提供部分思路和参考
仅提供思路,仅供参考,欢迎评论!!!
json 序列化为数组的更多相关文章
- Json序列化为对象方法
/// <summary>/// json 序列化为对象/// </summary>/// <typeparam name="T">对象类型&l ...
- Json 序列化为Dictionary
如下所示的json字符串中包含中文属性转换成英文属性 ["sid":"dd1312","success":true,"data&q ...
- Js把Json序列化为Java接受的对象。
服务器端 Java定义 data class role(var name: String = "", var remark: String = "") data ...
- Jquery 将表单序列化为Json对象
大家知道Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法.不过,我们可以写一个插件实现. 我在网上看到有人用替换的方法,先用 ...
- js将form表单序列化[json字符串、数组、对象]
1.序列化为字符串 $("#Form").serialize();//name=zhangsan&sex=1&age=20 2.序列化为数组 var formD ...
- 使用DataContractJsonSerializer类将类型实例序列化为JSON字符串和反序列化为实例对象 分类: JSON 前端 2014-11-10 10:20 97人阅读 评论(1) 收藏
一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是"名值对"的集合.结构由大 ...
- ArcGIS Wpf MarkerSymbol 图形符号无法序列化为 JSON
[问题贴,尚不知如何解决] 在GraphicsLayer中添加一个点,使用自定义模板渲染该点,在Vs2012设计界面可以看到,但运行时出现异常 代码如下: <esri:Graphic x:Nam ...
- Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)
Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...
- jQuery表单验证以及将表单序列化为json对象小练习
jquery表单验证(非实时验证),同时,将表单序列化为json对象提交表单. <!DOCTYPE html> <html lang="en"> <h ...
随机推荐
- centeros:生产环境搭建
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #e4af0a } p. ...
- px和em,rem的区别
1.px是你屏幕设备物理上能显示出的最小的一个点,这个点不是固定宽度的,不同设备上点的长宽.比例有可能会不同.假设:你现在用的显示器上1px宽=1毫米,但我用的显示器1px宽=两毫米,那么你定义一个d ...
- 如何在mac本上安装android sdk 避免被墙
众所周知的原因,google的很多网站在国内无法访问,苦逼了一堆天朝程序员,下是在mac本上折腾android 开发环境的过程: 一.先下载android sdk for mac 给二个靠谱的网址: ...
- PHP日志记录规范PSR-3
.note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...
- Table 表单样式
<style> table th { white-space: nowrap; background-color: #f5f5f5; height:30px; font-size:14px ...
- 学习php一个星期
学习这事都是被逼出来的,总监让我做一个邮箱系统,目测可以.
- Swift_提醒框
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #ffffff } p.p2 { margin: 0.0px 0. ...
- 服务器端之间采用http接口调数据时的Cookie传值问题
public static string UrlGet(string url) { string responseContent = ""; string cookieValue ...
- VBA笔记(四)——立即窗口的使用
开启立即窗口 方法一:视图-立即窗口 方法二:组合键<Ctrl+G> Debug.Print 可以在立即窗口打印输出
- Android Studio开发Android应用如何签名
1.使用jdk自带的工具生成keystore 使用cmd命令行进入到jdk的bin目录(比如:C:\Program Files\Java\jdk1.7.0_01\bin) 运行如下命令: C:\Pro ...