序列化各个类型成JSON XML实例
LitJson组件序列化请参考http://www.cnblogs.com/leee/p/4437230.html
XML序列化请参考http://www.cnblogs.com/leee/p/4244549.html
这篇实例是关于JavaScriptSerializer对各个类型的序列化。
将一个类的实例序列成json
public class Person
{ public string Name { get; set; }
public int Age { get; set; }
} Person p1 = new Person();
p1.Name = "like";
p1.Age = 24;
JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer();
var json = javascriptSerializer.Serialize(p1);
Response.Write(json);//{"Name":"like","Age":24}
将一个序列序列成“数组”
string[] arr = new string[] { "s", "dd", "fff" };
JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer();
var json = javascriptSerializer.Serialize(arr);
Response.Write(json);//["s","dd","fff"]
将一个list序列成“数组”
List<string> list = new List<string>();
list.Add("sss");
list.Add("dd");
JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer();
var json = javascriptSerializer.Serialize(list);
Response.Write(json);//["sss","dd"]
将一个无序字典hashtable序列成json
Hashtable has = new Hashtable();
has.Add("1", "sada");
has.Add("5", "sadjdi");
JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer();
var json = javascriptSerializer.Serialize(has);
Response.Write(json);//{"1":"sada","5":"sadjdi"}
将一个泛型字典序列成json
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("first", "sasa");
dic.Add("second", "dddd");
JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer();
var json = javascriptSerializer.Serialize(dic);
Response.Write(json);//{"first":"sasa","second":"dddd"}
将一个Datatable序列成数组
public string DateTableToJson(DataTable dt)
{
List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
foreach (DataRow dr in dt.Rows)
{
Dictionary<string, object> result = new Dictionary<string, object>();
foreach (DataColumn dc in dt.Columns)
{
result.Add(dc.ColumnName, dr[dc]);
}
list.Add(result);
}
JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer();
var json = javascriptSerializer.Serialize(list);
return json;
}
手动写一个datatable
//手动写一个datatable
DataTable dt = new DataTable("cart");
DataColumn l0 = new DataColumn("编号", Type.GetType("System.Int32"));
DataColumn l1 = new DataColumn("姓名", Type.GetType("System.String"));
DataColumn l2 = new DataColumn("年龄", Type.GetType("System.Int16"));
DataColumn l3 = new DataColumn("身高", Type.GetType("System.Int16"));
DataColumn l4 = new DataColumn("视力", Type.GetType("System.Int64"));
DataColumn l5 = new DataColumn("创建时间", Type.GetType("System.DateTime"));
DataColumn[] col = { l0, l1, l2, l3, l4, l5, };
dt.Columns.AddRange(col);
for (int i = 0; i < 5; i++)
{
DataRow row = dt.NewRow(); //new DataRow();
row["编号"] = i + 1;
row["姓名"] = "小王";
row["年龄"] = 18;
row["身高"] = 1516;
row["视力"] = 15659;
row["创建时间"] = DateTime.Now.ToLocalTime();
dt.Rows.Add(row);
}
Response.Write(DateTableToJson(dt));
// [
// {"编号":1,"姓名":"小王","年龄":18,"身高":1516,"视力":15659,"创建时间":"\/Date(1443362884990)\/"},
// {"编号":2,"姓名":"小王","年龄":18,"身高":1516,"视力":15659,"创建时间":"\/Date(1443362884990)\/"},
// {"编号":3,"姓名":"小王","年龄":18,"身高":1516,"视力":15659,"创建时间":"\/Date(1443362884990)\/"},
// {"编号":4,"姓名":"小王","年龄":18,"身高":1516,"视力":15659,"创建时间":"\/Date(1443362884990)\/"},
// {"编号":5,"姓名":"小王","年龄":18,"身高":1516,"视力":15659,"创建时间":"\/Date(1443362884990)\/"}
// ]
序列化各个类型成JSON XML实例的更多相关文章
- Python导出Excel为Lua/Json/Xml实例教程(三):终极需求
相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- ajax 另外两种返回类型(json xml)
返回json类型(例子): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...
- JSON.stringify实例应用—将对象转换成JSON类型进行AJAX异步传值
在上一篇中,对JSON.stringify()方法有了初步的认识,并且做了一些简单的例子.本篇将进一步将JSON.stringify用在复杂些的实例中,例如如下需求: 在进jQuery AJAX异步传 ...
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 我们都知道在使用WebApi的时候Controller会自动将Action的返回值自动进行各种序列化处理(序列化为 ...
- JSON格式序列化与反序列化(List、XML)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- 如何在ASP.NET中用C#将XML转换成JSON
本文旨在介绍如果通过C#将获取到的XML文档转换成对应的JSON格式字符串,然后将其输出到页面前端,以供JavaScript代码解析使用.或许你可以直接利用JavaScript代码通过Ajax的方式来 ...
- XML和JSON 序列化以及DataTable转JSON
using System.IO; using System.Text; using System.Xml.Serialization; using System.Xml; using System.R ...
随机推荐
- HDU 1452 Happy 2004 (逆元+快速幂+积性函数)
G - Happy 2004 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Subm ...
- 【2016-07-11】Qt远程部署失败,提示"没有那个文件或目录"的解决方法
首先明确一下,这里的部署失败与网络连接.ssh/scp/sftp等无关. 一般出现在删除了远端上的可执行文件,而本地程序未做明显改动时远程部署执行的时候. Qt应用程序输出中的提示信息如下: 究其原因 ...
- Ajax中的XMLHttpRequest对象详解
XMLHttpRequest对象是Ajax技术的核心.在Internet Explorer 5中,XMLHttpRequest对象以ActiveX对象引入,被称之为XMLHTTP,它是一种支持异步请求 ...
- 一、HTML和CSS基础--开发工具--Sublime前端开发工具技巧介绍
下载:官网下载(根据系统下载) 安装:按步骤安装即可 注意:当前稳定版本为2,但3的功能有提升:Mac和Windows下的快捷键不同 优点:启动速度快,界面简洁,可以直接打开图片. 1 菜单栏主要功能 ...
- ubuntu下打开终端插件
一个 nautilus 插件,用于在任意目录中打开终端 nautilus-open-terminal
- MyISAM InnoDB 区别
MyISAM 和 InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处 ...
- Linux下可以替代windows的软件汇总:(不断完善中)
http://www.ubuntukylin.com/ukylin/forum.php?mod=viewthread&tid=9530 原则:不求全面,只求实用.主要针对桌面级应用.网购: ...
- String 和 document 的相互转换总结
转自:http://blog.sina.com.cn/s/blog_7f865faf01014qrs.html 一.使用最原始的javax.xml.parsers,标准的jdk api // 字符串转 ...
- ML 02、监督学习
机器学习算法原理.实现与实践——监督学习 机器学习包括监督学习.非监督学习.半监督学习及强化学习,这里先讨论监督学习. 监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个 ...
- android webview与 java与javascript的交互
webView.getSettings().setJavaScriptEnabled(true);//打开就可以用js的功能 webView.getSettings().setJavaScript ...