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中进行编码,纯属手敲,如复制会报错,仅仅提供部分思路和参考

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

时间: 2024-10-13 06:10:45

json 序列化为数组的相关文章

JSON序列化为java对象

一. 前台(JS  面向对象) 1. 定义SearchView对象 function SearchView() { } SearchView.prototype.setViewName = function (viewName) {     this.viewName = viewName; } SearchView.prototype.setViewType = function(viewType) {     this.viewType = viewType; } SearchView.pr

javascript-js将form表单序列化[json字符串、数组、对象]

1.序列化为字符串 $("#Form").serialize();//name=zhangsan&sex=1&age=20   2.序列化为数组 $("#form").serializeArray();//[Object, Object, Object] 3.序列化为对象 function getFormJson(form) { var o = {}; var a = $(form).serializeArray(); $.each(a, funct

JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象 。

JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对象.要添加System.Web.Extensions.dll的引用.该类位于System.Web.Script.Serialization命名空间下. 一.属性 MaxJsonLength 获取或设置 JavaScriptSerializer 类接受的 JSON 字符串的最大长度. Recursio

Jquery 将表单序列化为Json对象

使用下面代码时注意不要忘记引入jquery文件,以下代码可以复制到html文件中执行可看到效果,非常方便好用.附代码: <!DOCTYPE html> <html> <head> <title></title> <script src="jquery-2.0.3.min.js"> </script> </head> <body> <form id="myForm&

form表单序列化为json格式数据

在web开发过程中,经常遇到将form序列化不能格式的字符串提交到后台,下面就介绍怎样将form表单序列化为json字符串. 首先,是扩展的jquery序列化插件,依赖jquery.经测试,这段代码可以放在$(funciton(){})中,也可以放在外面,都可以实现效果. $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.

JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象

JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对象.要添加System.Web.Extensions.dll的引用.该类位于System.Web.Script.Serialization命名空间下. 一.属性 MaxJsonLength 获取或设置 JavaScriptSerializer 类接受的 JSON 字符串的最大长度. Recursio

Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)

Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 - 转载请保留该原文链接) 07/19/12 03:08:05 PM 在Jedis开发中,我们很多时候希望直接把一个对象放到Redis中,然后在需要的时候取出来.Redis的key和value都支持二进制安全的字符串,存储Java对象不是问题,下面我们看一下如何来实现. 1要存储的对象 现在写一个

ArcGIS Wpf MarkerSymbol 图形符号无法序列化为 JSON

[问题贴,尚不知如何解决] 在GraphicsLayer中添加一个点,使用自定义模板渲染该点,在Vs2012设计界面可以看到,但运行时出现异常 代码如下: 1 <esri:Graphic x:Name="MyGrapic" > 2 <esri:Graphic.Geometry> 3 <esri:MapPoint X="120.198704" Y="35.957860" > 4 <esri:MapPoint

Json数据序列化对象,及对象序列化为Json格式

public class JsonHelper { /// <summary> /// 生成Json格式 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj"></param> /// <returns></returns> public static string GetJso