LitJson JavaScriptSerializer
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; using LitJson;
using System.Data;
using System.Collections;
using System.Web.Script.Serialization; public class Person
{ public string Name { get; set; }
public int Age { get; set; }
} public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Response.AddHeader("Content-Type", "application/json;");
//Response.ContentType = "application/json";
//Response.ContentEncoding = System.Text.Encoding.UTF8;
#region LitJson练习
JsonData jd = new JsonData();
jd["sada"] = "dsad";
jd["www"] = ;
JsonData jr = new JsonData();
jr["m"] = jd;//可以赋值,也可以赋值jsondata
jr["time"] = DateTime.Now.ToLocalTime().ToString();
jr["qqq"] = ;
jr["asda"] = "dawd";
string json = JsonMapper.ToJson(jr);//②步,jsondata不是json字符串,还要把jsondata序列化,
Response.Write(json);
// {
// "m": {
// "sada": "dsad",
// "www": 123
// },
// "time": "2015-04-19 14:38:41",
// "qqq": 567,
// "asda": "dawd"
// }
#endregion
#region ArrayList,List<>--->[]随意是数字,字符串
//ArrayList arr1 = new ArrayList();
//arr1.Add("dasda");
//arr1.Add("mmm");
//arr1.Add(99999);
//string rdt = JsonMapper.ToJson(arr1);//["dasda","mmm",99999]
//Response.Write(rdt); //List<int> list1 = new List<int>();
//list1.Add(5);
//list1.Add(8);
//string rmt = JsonMapper.ToJson(list1);//[5,8]
//Response.Write(rmt); //List<string> list = new List<string>();
//list.Add("xiaoming");
//list.Add("xiaohong");
//string rat = JsonMapper.ToJson(list);//["xiaoming","xiaohong"]数组
//Response.Write(rat);
#endregion
#region 键值对-->{}字典Hashtable,Dictionary<>,序列化成json,唯一要求键要为字符串 //Hashtable has = new Hashtable();
//has.Add("1", "sada");
//has.Add("5", 99);
//string str = JsonMapper.ToJson(has);
//Response.Write(str); //Dictionary<string, int> dic1 = new Dictionary<string, int>();
//dic1.Add("1", 5);
//dic1.Add("3", 9);
//var json = JsonMapper.ToJson(dic1);
//Response.Write(json); //Dictionary<string, string> dic = new Dictionary<string, string>();//
//dic.Add("xiaohong", "28");
//dic.Add("xiaolan", "22");
//string json = JsonMapper.ToJson(dic);//{"xiaohong":"28","xiaolan":"22"}
//Response.Write(json);
#endregion
#region 无法将类型为“system.int32”的对象强制转换为类型“system.string”。
//Hashtable has = new Hashtable();
//has.Add(1, "sada");
//has.Add(5, "sadjdi");
//string str = JsonMapper.ToJson(has);//无法将类型为“System.Int32”的对象强制转换为类型“System.String”
//Response.Write(str); //Dictionary<int, string> dic = new Dictionary<int, string>();//
//dic.Add(1, "dawd");
//dic.Add(9, "www");
//string json = JsonMapper.ToJson(dic);
//Response.Write(json); //Dictionary<int, int> dic1 = new Dictionary<int, int>();
//dic1.Add(1, 5);
//dic1.Add(3, 9);
//var json = JsonMapper.ToJson(dic1);
//Response.Write(json);//无法将类型为“System.Int32”的对象强制转换为类型“System.String”
#endregion
#region JavaScriptSerializer,内置序列化的一种方式,同上,键为字符串
//JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer();
//var json = javascriptSerializer.Serialize(dic1);
//Response.Write(json);
#endregion
#region 普通类-->{},JsonMapper.ToJson(),JavaScriptSerializer和序列化普通类
//Person p = new Person();
//p.Name = "like";
//p.Age = 24;
//string ret = JsonMapper.ToJson(p);//{"Name":"like","Age":24} //Person p1 = new Person();
//p.Name = "like";
//p.Age = 24;
//JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer();
//var json = javascriptSerializer.Serialize(p1);
//Response.Write(json);
#endregion
}
}
全部代码
对一个集合,要求不序列化完,对其中的几项序列化。这时内置序列化对象就不方便。这是用LitJson[“key”]=value;方便。
List<RechargeM> list = RecBL.GetTB(Gid);
foreach (var item in list)
{
JsonData jd = new JsonData();
jd["ID"] = Tools.GetString(item.Id);
jd["Num"] = item.cRech_Num;
jd["Money"] = item.mRech_Money;
jd["Date"] = Tools.GetString(item.dRech_Date);
row.Add(jd);
}
Jlist["RechargeLis"] = row;
LitJson JavaScriptSerializer的更多相关文章
- JavaScriptSerializer 序列化json 时间格式
利用JavaScriptSerializer 序列化json 时间格式,得到的DateTime值值显示为“/Date(700000+0500)/”形式的JSON字符串,显然要进行转换 1.利用字符串直 ...
- JavaScriptSerializer使用条件
JavaScriptSerializer使用条件:需先引用组件:System.Web.Extensions 类全称:System.Web.Script.Serialization.JavaScript ...
- 在引用KindEditor编辑器时,运行时出现以下错误:错误46 找不到类型或命名空间名称“LitJson”(是否缺少 using 指令或程序集引用?)
将asp.net下bin文件夹下的文件LitJSON.dll拷贝到工程的bin目录下,并在工程中添加引用 在后台加入: using LitJson;
- 关于litJson的System.InvalidCastException
最近在做一个Unity3D的项目,用到了litJson库, 它比JavaScript里的JSON解析更加严格, 有时候解析数据的时候会出现类型不对. 比如说 {"data":12} ...
- XML数据 JSON数据 LitJSON 数据 的编写和解析 小结
用XML生成如下数据<?xml version="1.0"encoding="UTF-8"?><Transform name="My ...
- JSON 序列化和反序列化——JavaScriptSerializer实现
一. JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.您无法访问序列化程序的此实例.但是,此类公开了公共 API.因此, ...
- JavaScriptSerializer序列化时间处理
JavaScriptSerializer序列化时间后会把时间序列化成N进制的鬼数据,于是查了下质料坐下记录 假设list = News List<Text>(){new Text(){id ...
- JavaScriptSerializer 中的匿名类型 转json
二:JavaScriptSerializer 中的匿名类型 这个类型我想大家都清楚,不过性能更高的方式应该是用JsonConvert吧,但这个不是本篇讨论的话题,我们重点来看看匿名类型的Json序列化 ...
- asp.net JavaScriptSerializer实现序列化和反序列化
通过JavaScriptSerializer来实现.它的名字空间为:System.Web.Script.Serialization 如果要使用它,还须添加 System.Web.Extensions库 ...
随机推荐
- net core 2.0学习笔记(一):开发运行环境搭建 (转)
期待已久的.net core 2.0终于发布了!大家等的花儿都谢了. 不过比预期提前了一个多月,这在微软历史上还真的不多见.按照历史经验看,2.0版本应该比较靠谱,我猜这也是社区非常火爆的原因吧.下面 ...
- ubuntu初次设置root密码
初次安装ubuntu创建的用户不是root用户,但是需要root权限的时候又需要密码,那么如何设置密码呢? 很简单.如下几步操作
- <<APUE>> 编译方法
/********************************************************************************第0种-最简单实用********** ...
- java操作Excel之POI(5)利用POI实现使用模板批量导出数据
后台导出方法: 在源文件夹src下面放个准备好的模板:/com/cy/template/userExportTemplate.xls,这个模板有头部一行: /** * 后台导出方法 * 利用POI实现 ...
- 服务注册发现Eureka之二:高可用服务注册中心
前言 在Spring Cloud系列文章的开始,我们就介绍了服务注册与发现,其中,主要演示了如何构建和启动服务注册中心Eureka Server,以及如何将服务注册到Eureka Server中,但是 ...
- java的缓存框架
1.java里面有一些开源的缓存框架,比如ecache,memcache,redis等缓存框架. 2.使用缓存框架的原理就是减少数据库端的压力,将缓存数据放在内存里面,存储成键值对的格式,这样可以不去 ...
- ExtJS模版技术
学习ExtJS一段时间以后,大家基本都会对于一些显示数据的组件不太符合需求,可能自己需要的组件在ExtJS里面不存在,这是大家基本就会使用Html属性,直接使用Html进行绘制页面数据展现. 但是,使 ...
- windows 和 Linux 安装rabbitmq
windows 安装 rabbitmq 1,安装erlang 点击进入官网下载:http://erlang.org/download/ 2.安装rabbitmq 点击进入官网下载:http://www ...
- Python分页转Mybatis pagehelper格式分页
最近工作里遇到一个需求要把之前用Java写的一个http接口替换成用Python写的,出参是带了mybatis pageHelper中PageInfo信息的一个JSON串,而Python这边分页不会涉 ...
- opencv边缘检测的入门剖析(第七天)
---边缘检测概念理解--- 边缘检测的理解可以结合前面的内核,说到内核在图像中的应用还真是多,到现在为止学的对图像的操作都是核的操作,下面还有更神奇的! 想把边缘检测出来,从图像像素的角度去想,那就 ...