因为需要观察对象的数据,所以寻找能自动描述对象中字段名和其值的描述类,咨询了不少人,都推荐使用json,但是json使用起来有一点额外的操作.

需要在文件中引用

using System.Web.Script.Serialization;

可是添加了发现提示报错,找不到空间名字,原来还需要在项目引用中添加该引用:

我使用的是VS2010,在.NET引用中找不到它,查阅资料,还要到C盘中去找到并添加.我找到的地址如下:

从添加引用,浏览中添加后,就可以正常使用了.

        public class test //自定义的数据类
{
//public Dictionary<int, int> dary = new Dictionary<int, int>();
public List<List<int>> sary = new List<List<int>>();
public List<int> nary = new List<int>();
public xxx mx = new xxx();
public wori wr = new wori();
public Tuple<int, int, int, string> mt = new Tuple<int, int, int, string>(, , , "aa"); public test()
{
int[] nnary = new int[] { , , , , }; nary = new List<int>(nnary);
sary = new List<List<int>>();
sary.Add(ZCL.Tbas.MEarray.CreatIntRand(, , ));
sary.Add(ZCL.Tbas.MEarray.CreatIntRand(, , ));
sary.Add(ZCL.Tbas.MEarray.CreatIntRand(, , ));
sary.Add(ZCL.Tbas.MEarray.CreatIntRand(, , ));
sary.Add(ZCL.Tbas.MEarray.CreatIntRand(, , ));
sary.Add(ZCL.Tbas.MEarray.CreatIntRand(, , )); }
}
            test md2 = new test();  //通过以下代码实现
JavaScriptSerializer serializer = new JavaScriptSerializer();
StringBuilder sb = new StringBuilder();
serializer.Serialize(md2, sb);
ME.MsgShow(sb.ToString());

最后显示结果为:

{"sary":[[950,652,375,867,923,494,271,923,897,522],[624,631,8,505,671,508,888,827,19,983],[478,623,576,323,457,735,776,670,528,497],[237,813,868,350,901,512,303,135,374,808],[656,670,553,478,83,837,759,501,409,409],[348,473,931,859,751,328,76,53,411,189]],"nary":[1,2,3,45,7],"mx":{"ma":20,"mb":100,"sa":"abc","sb":"33333","sc":"ewr"},"wr":{"md":0,"ma":0,"sa":null,"sb":null,"sc":null},"mt":{"Item1":1,"Item2":1,"Item3":1,"Item4":"aa"}}

注意: JSON是无法直接序列化Dictionary,需要将其转化为List.

如何实现序列化为json的更多相关文章

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

    [问题贴,尚不知如何解决] 在GraphicsLayer中添加一个点,使用自定义模板渲染该点,在Vs2012设计界面可以看到,但运行时出现异常 代码如下: <esri:Graphic x:Nam ...

  2. Jquery 将表单序列化为Json对象

    大家知道Jquery中有serialize方法,可以将表单序列化为一个“&”连接的字符串,但却没有提供序列化为Json的方法.不过,我们可以写一个插件实现. 我在网上看到有人用替换的方法,先用 ...

  3. 使用DataContractJsonSerializer类将类型实例序列化为JSON字符串和反序列化为实例对象 分类: JSON 前端 2014-11-10 10:20 97人阅读 评论(1) 收藏

    一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是"名值对"的集合.结构由大 ...

  4. jQuery表单验证以及将表单序列化为json对象小练习

    jquery表单验证(非实时验证),同时,将表单序列化为json对象提交表单. <!DOCTYPE html> <html lang="en"> <h ...

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

    JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...

  6. 将Dictionary序列化为json数据 、json数据反序列化为Dictionary

    需要引用System.Web.Extensions  dll类库 /// <summary> /// 将json数据反序列化为Dictionary /// </summary> ...

  7. ArcGIS 添加 MarkerSymbol 弹出“图形符号无法序列化为 JSON”错误

    今天在做一个demo,向自定义图层中添加MarkerSymbol的时候,弹出“图形符号无法序列化为 JSON”错误,之前都没有出现过这个问题,我们首先来看一看我是怎样去添加图层,然后向图层中添加Gra ...

  8. 类对象序列化为json串,json串反序列化为类对象

    1.类对象序列化为json串: 方法一: class P(object): def __init__(self,name,age,sex): self.name=name self.age=age s ...

  9. 将表单序列化为JSON对象

    将表单序列化为JSON对象的工具方法: $(function() { //工具方法,可以将指定的表单中的输入项目序列化为JSON数据 $.fn.serializeJson = function() { ...

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

    在web开发过程中,经常遇到将form序列化不能格式的字符串提交到后台,下面就介绍怎样将form表单序列化为json字符串. 首先,是扩展的jquery序列化插件,依赖jquery.经测试,这段代码可 ...

随机推荐

  1. codeforces 702C C. Cellular Network(水题)

    题目链接: C. Cellular Network time limit per test 3 seconds memory limit per test 256 megabytes input st ...

  2. 工艺(SAM)

    传送门 用SAM可以非常轻松的解决问题. 只要把原串向SAM中插入两次,之后直接从\(t_0\)状态开始每次贪心跑最小就可以了. 因为这个题要用map,所以之前取begin即可. // luogu-j ...

  3. 各个国家 不同字符集的unicode 编码范围

    原文地址:http://blog.csdn.NET/xzl04/article/details/6307416 0000-007F:C0控制符及基本拉丁文 (C0 Control and Basic  ...

  4. C#视频取帧图

    由于项目里页面有许多视频资料需要展示给用户查看,因此需要做一个视频列表,原设计是列表显示视频第一帧图,但实际上很多视频第一帧是纯黑底色. 于是想到用js利用canvas截图,最后发现由于浏览器跨域限制 ...

  5. Mogodb 存储DateTime问题

    由于mogodb默认用的是国际日期utc和中国时间有8小时时差. c#当中利用特别属性来解决,如: /// <summary>        /// 创建日期        /// < ...

  6. Windows服务卸载服务窗口仍显示的问题

    关于Windows服务通过命令卸载后, 打开服务窗口,服务还有显示,只是状态改为了禁用,运行停止.那么我们怎么解决呢, 不要心慌,打开你的任务管理器,查看服务所用的exe程序是否还在运行,若有的话,便 ...

  7. Linux日志分割脚本

    该脚本的功能是定时分割日志文件 #!/usr/bin/env bash #定时分割清理日志文件 #usage="Usage: logrotate (start|stop) file (lin ...

  8. SpringMVC数据绑定二(List、Set和Map类型)

    1.List类型绑定 //联系信息类 用户类的子属性 public class ContactInfo { private String phone; private String address; ...

  9. ECharts使用问题

    Echarts官网上给的例子,在最后有一个分号. 使用ajax请求,在eval()转化时出现错误,原因就是因为多了一个分号

  10. docker三剑客之一docker compose

    compose有两个重要的概念: 服务(service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例 项目(project):由一组关联的应用容器组成的一个完整业务单元,在docker- ...