序列化各个类型成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 ...
随机推荐
- Android之Fragment(二)
本文主要内容 如何管理Fragment回退栈 Fragment如何与Activity交互 Fragment与Activity交互的最佳实践 没有视图的Fragment的用处 使用Fragment创建对 ...
- C# JSON字符串序列化与反序列化常见模型举例
C#中实体转Json常用的类JavaScriptSerializer,该类位于using System.Web.Script.Serialization;命名空间中,添加引用system.web.ex ...
- angular语法:Controller As
这个东东我觉得很好哟. 数据可以在同一个页面的不同的controller之间自由穿梭... 当然, https://thinkster.io/a-better-way-to-learn-angular ...
- vijos 1038 括号+路径 ***
链接:点我 就是自己写不出来 #include <cstdio> #include <climits> #include <memory.h> using name ...
- hdu 1281 二分图匹配
题目:在保证尽量多的“车”的前提下,棋盘里有些格子是可以避开的,也就是说,不在这些格子上放车,也可以保证尽量多的“车”被放下.但是某些格子若不放子,就 无法保证放尽量多的“车”,这样的格子被称做重要点 ...
- Struts2 Struts.xml DTD 说明
转自:http://blog.csdn.net/cuixiuqin1954/article/details/4228741 关于Struts2中的核心配置文件struts.xml,就其DTD(Docu ...
- Codeforces Round #360 (Div. 2) E. The Values You Can Make DP
E. The Values You Can Make Pari wants to buy an expensive chocolate from Arya. She has n coins, ...
- codeforces Gym 100187J J. Deck Shuffling dfs
J. Deck Shuffling Time Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/pro ...
- node相关--WebSocket
socket:socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. ajax: 通过HTTP请求+响应模式的方式来发送和 ...
- BZOJ2190 [SDOI2008]仪仗队(欧拉函数)
与HDU2841大同小异. 设左下角的点为(1,1),如果(1,1)->(x,y)和(1,1)->(x',y')向量平行,那只有在前面的能被看见.然后就是求x-1.y-1不互质的数对个数. ...