Json对象序列化与反序列化
如果后台的参数数对象,需要在前台传入:
JS代码:
//创建JS对象
var CUTTING_TABLET_MO = new Object();
CUTTING_TABLET_MO.CUTTING_TABLET_MO_ID =0;
CUTTING_TABLET_MO.GO_NO = ""; $("#Lab_GO").html();
CUTTING_TABLET_MO.MO_NO = $("#Lab_MO").html();
CUTTING_TABLET_MO.STATUS = "Doing";
CUTTING_TABLET_MO.REMARK = "";
CUTTING_TABLET_MO.CREATE_USER_ID = $("#h_userid").val();
CUTTING_TABLET_MO.CREATE_DATE = new Date().toLocaleString();
CUTTING_TABLET_MO.LAST_MODI_USER_ID = $("#h_userid").val();
CUTTING_TABLET_MO.LAST_MODI_DATE = new Date().toLocaleString();
var CUTTING_TABLET_CUT_LOT = new Object();
CUTTING_TABLET_CUT_LOT.CUTTING_TABLET_CUT_LOT_ID =0;
CUTTING_TABLET_CUT_LOT.CUTTING_TABLET_MO_ID =0;
CUTTING_TABLET_CUT_LOT.CUT_LOT = $("#lbl_CutLotNo").val();
CUTTING_TABLET_CUT_LOT.REMARK = "";
CUTTING_TABLET_CUT_LOT.STATUS = "Doing";
CUTTING_TABLET_CUT_LOT.MARKER_ID = $("#h_MarkerId").val();
CUTTING_TABLET_CUT_LOT.CREATE_USER_ID = $("#h_userid").val();
CUTTING_TABLET_CUT_LOT.CREATE_DATE = new Date().toLocaleString();
CUTTING_TABLET_CUT_LOT.LAST_MODI_USER_ID = $("#h_userid").val();
CUTTING_TABLET_CUT_LOT.LAST_MODI_DATE = new Date().toLocaleString();
//将对象序列化成Json对象
var cuttingTabletObj = JSON.stringify(CUTTING_TABLET_MO);
var cuttingCutLotObj = JSON.stringify(CUTTING_TABLET_CUT_LOT);
//将对象序列化成JSON后传入后台,使用JqueryAjax
publicAjax(ajaxURL + "CuttingTable/MoStateAndCutLotStateUpdate", "{ MoObj: '" + cuttingTabletObj + "', CutObj: '" + cuttingCutLotObj + "' }", function (result) {
});
Controller.cs 的代码
public void MoStateAndCutLotStateUpdate(string MoObj, string CutObj)
{
//实例化用于序列化的类,using System.Web.Script.Serialization;
JavaScriptSerializer Serializer = new JavaScriptSerializer();
//实例化对象
CUTTING_TABLET_MO cuttingTabletmo = Serializer.Deserialize<CUTTING_TABLET_MO>(MoObj);
CUTTING_TABLET_CUT_LOT cuttingTableCutLot = Serializer.Deserialize<CUTTING_TABLET_CUT_LOT>(CutObj);
//如果是集合使用
//List<CUTTING_TABLET_MO> cuttingTabletmo = Serializer.Deserialize<list<CUTTING_TABLET_MO>>(MoObj);
}
-------------------
JS1将对象序列化为json
function(result){
var json = JSON.stringify(result);//将对象序列化
sessionStorage.setItem("shrinkageData", json);//保存缩略信息,拉布页面扫描需判断
}
JS反序列化为对象
var json=JSON.parse(sessionStorage.getItem("shrinkageData"));//反序列化
var shrinkageData = json;
c#
using Newtonsoft.Json;
Hashtable hash = new Hashtable();
hash.Add("key1", "val1");
hash.Add("key2", "val2");
hash.Add("key3", "[1,2]");
hash.Add("key4", "[{'k':'v'},{'k1':'v1'}]");
string json = JsonConvert.SerializeObject(hash); php p = new php();
p.age = ;
p.name = "姓名";
string json2 = JsonConvert.SerializeObject(p);//序列化对象
php p2 = JsonConvert.DeserializeObject<php>(json2);//反序列化对象
//js obj: JSON.stringify(points)
"[{},{}]"
List<PointsInfo> p2 = JsonConvert.DeserializeObject<List<PointsInfo>>(obj);
"{}"
Points p2 = JsonConvert..DeserializeObject<Points>(obj);
Json对象序列化与反序列化的更多相关文章
- .NET JSON对象序列化和反序列化
class Program { static void Main(string[] args) { Console.WriteLine("========================== ...
- Java对象序列化与反序列化一 JSON
Java对象序列化与反序列化一 JSON 1. 依赖库 jackson-all-1.6.1.jar 2. 代码 public class Student { private String nam ...
- 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型;
导航目录: Newtonsoft.Json 概述 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型: 二:C#对象.集合.DataTable与Json内容互转示例: ...
- C#对象序列化与反序列化zz
C#对象序列化与反序列化(转载自:http://www.cnblogs.com/LiZhiW/p/3622365.html) 1. 对象序列化的介绍........................ ...
- [.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化
[.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化 本节导读: 介绍JSON的结构,在JS中的使用.重点说明JSON如何在.N ...
- C#对象序列化与反序列化
C#对象序列化与反序列化(转载自:http://www.cnblogs.com/LiZhiW/p/3622365.html) 1. 对象序列化的介绍.......................... ...
- C#中的Json的序列化和反序列化
Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中.我们在下面实例讲解如何进行Jso ...
- Json的序列化与反序列化
对于Json的序列化和反序列化,如果自己编写源代码来实现的话,很复杂很烦,所以我采用的是使用别人已经写好的引用文件.这类文件网上有很多,我用的是LitJson,当然Newtonsoft也可以,但后者需 ...
- Newtonsoft.Json 的序列化与反序列化
首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化.创建一 ...
随机推荐
- ANE在ios上的使用流程和问题解决
编写ANE流程: 1. 在xcode里编写.a原生类库 2. 更改配置文件extension.xml, 定义了原生程序的扩展接口 3. 编写AS替身类,生成扩展类包.swc,解压再得到library. ...
- 修改mac os分辨率(VMware)
转自:http://hi.baidu.com/hehonglei123/item/55591c17e7991d582a3e22a1 1. 在Mac系统中安装VMsvga2:VMsvga2_v1.2.3 ...
- sql 事务处理
事务定义: 事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据更改均会 提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有 数据更改均被清除. 事务三种运行模式 ...
- 如何用jquery操作table的方法
今天我在做你约我吧交友www.niyuewo.com网项目时遇到一个问题,就是如何用qjuery控制table的添加.编辑与删除,经过网上查资料发现用jquery很容易实现,在此整理下来供大家参考: ...
- MySQL_前缀索引_建立
-- 查看出现频率select count(*) as cnt,cityfrom sakila.city_demo group by city order by cnt desc limit 10; ...
- Qt 显示透明flash和编写QtWebkit插件
Qt 有两种方法可以显示flash. 1. 通过QAxWidget 调用com形式显示flash, 需要本机安装IE flash插件 2. 直接通过qwebview显示flash, 需要下载webki ...
- Cable master
Description Inhabitants of the Wonderland have decided to hold a regional programming contest. The J ...
- 杂乱无章之javascript(二)
1.浏览器与事件事件通常是由浏览器所产生,不同的浏览器会产生的事件也有所不同,即使同一浏览器不同版本所产生的事件也有不同.以下为HTML4.01中的事件 2.error事件:它可以调用一个错误处理函数 ...
- Java基础知识强化之集合框架笔记75:哈希表
1. 哈希表数据结构(数组): 2. 哈希表确定元素是否相同: (1)判断的是两个元素的哈希值是否相同 如果相同,再判断两个对象内容是否相同 (2)判断哈希值相 ...
- Android(java)学习笔记71:生产者和消费者之等待唤醒机制
1. 首先我们根据梳理我们之前Android(java)学习笔记70中关于生产者和消费者程序思路: 2. 下面我们就要重点介绍这个等待唤醒机制: (1)第一步:还是先通过代码体现出等待唤醒机制 pac ...