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 ...
随机推荐
- document.documentElement.clientHeight 和 $(window).height() 无法正确获取页面可视区高度
背景: 弹出层插件(自适应) 实现过程中突然发现在获取可视区高度时,无论document.documentElement.clientHeight 还是 $(window).height()都无法正确 ...
- This month Calendar
package fourth;import java.text.DateFormatSymbols;import java.util.*;public class CalendarTest { pub ...
- jQuery校验
jQuery校验 官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一导入js库 <script src=&q ...
- Linux学习笔记<五>
管道命令(pipe) 1.把一个命令的输出作为另一个命令的输入 ls -al /etc | less 2.选取命令:cut和grep cut命令可以将一段消息的某段切出来. -d接分隔符,-f是取出第 ...
- 机器学习——利用K-均值聚类算法对未标注数据分组
聚类是一种无监督的学习,它将相似的对象归到同一簇中.它有点像全自动分类.聚类方法几乎可以应用到所有对象,簇内的对象越相似,聚类的效果越好. K-均值(K-means)聚类算法,之所以称之为K-均值是因 ...
- 【先定一个小目标】Windows下安装MongoDB 3.2
1.MongoDB 安装 官网提供了三个版本下载: - MongoDB for Windows 64-bit 适合 64 位的 Windows Server 2008 R2, Windows 7 , ...
- phpstorm 使用技巧
专题1 专题2 专题3 专题4 快捷键
- HTML5 —— 自学第一课
1.心得 首先遇见问题要寻根源,而不是将问题抛出:其次要经常查看参考文档.参考示例:学会百度. 2.技能需求 HTML5.XHTML.CSS3.JavaScript.jQuery(jQuery-UI/ ...
- 每天写点shell--命令行参数
1.读取参数:位置参数变量是标准的数字: $0是程序名, $1是第一个参数, $2是第二个参数... #!/bin/bash # using one command line parameter fa ...
- HDU1020字符串操作
#include <stdio.h> #include <string.h> int N; int size; void main() { scanf("%d&quo ...