如果后台的参数数对象,需要在前台传入:

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对象序列化与反序列化的更多相关文章

  1. .NET JSON对象序列化和反序列化

    class Program { static void Main(string[] args) { Console.WriteLine("========================== ...

  2. Java对象序列化与反序列化一 JSON

    Java对象序列化与反序列化一 JSON 1. 依赖库 jackson-all-1.6.1.jar 2. 代码 public class Student {    private String nam ...

  3. 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型;

    导航目录: Newtonsoft.Json 概述 一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型:    二:C#对象.集合.DataTable与Json内容互转示例: ...

  4. C#对象序列化与反序列化zz

      C#对象序列化与反序列化(转载自:http://www.cnblogs.com/LiZhiW/p/3622365.html) 1. 对象序列化的介绍........................ ...

  5. [.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化

    [.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化 本节导读: 介绍JSON的结构,在JS中的使用.重点说明JSON如何在.N ...

  6. C#对象序列化与反序列化

    C#对象序列化与反序列化(转载自:http://www.cnblogs.com/LiZhiW/p/3622365.html) 1. 对象序列化的介绍.......................... ...

  7. C#中的Json的序列化和反序列化

    Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中.我们在下面实例讲解如何进行Jso ...

  8. Json的序列化与反序列化

    对于Json的序列化和反序列化,如果自己编写源代码来实现的话,很复杂很烦,所以我采用的是使用别人已经写好的引用文件.这类文件网上有很多,我用的是LitJson,当然Newtonsoft也可以,但后者需 ...

  9. Newtonsoft.Json 的序列化与反序列化

    首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化.创建一 ...

随机推荐

  1. VC++制作DLL具体解释

    1.    DLL的基本概念 应用程序(exe)要引用目标代码(.obj)外部的函数时,有两种实现途径--静态链接和动态链接. 1.    静态链接 链接程序搜索相应的库文件(.lib),然后将这个对 ...

  2. JAXB完毕XML与Java对象的互转

    这段时间都老忙了,甚至连周末全部人员都在赶产品的进度,想想连续上12天班,人都有点晕了! 到这会儿最终有点时间.所以准备和大家分享一下JAXB,会不会有人认为有点陌生呢?没事,这里跟大伙儿简单的描写叙 ...

  3. ORACLE触发器具体解释

    ORACLE PL/SQL编程之八: 把触发器说透 本篇主要内容例如以下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 ...

  4. percona-toolkit工具包的使用教程

    http://blog.chinaunix.net/uid-20639775-id-3236916.html     本文收集了percona-toolkit工具包中比较常用的工具集,写成教程,方便自 ...

  5. 关于File.getPath,File.getAbsolutePath,File.getCanonicalPath的区别

    这个问题, 不了解一下还是挺恍惚它们之间的区别的. 其实也挺简单的. getPath()-->>new File()时的路径 getAbsolutePath()-->>当前路径 ...

  6. FTP服务器简易有效的访问方法

    访问FTP服务器传统的方法是使用专用的客户端程序,如CuteFTP,8UFTP等,也包括命令行的FTP客户端c:\windows\system32\ftp.exe程序. FTP服务器也有简易访问方法 ...

  7. OpenCV之邻域运算之最值滤波

    写了一段小程序,分享给大家! //==================================================================== // 作者 : quarry ...

  8. DataBase 之 常用操作

    (1) try catch 配合 Transactions 使用 --打开try catch功能 set xact_abort on begin try begin tran ) commit tra ...

  9. Recommended you 3 most popular Nissan pincode calculators

    Have you still felt confused on how to choose a satisfactory Nissan pin code calculator in the marke ...

  10. cocos2d-x之MoonWarriors用c++实现

    玩了sample里面的cocos2d-html5的MoonWarriros,感觉效果做得挺不错的,但是源代码是javascript,鄙人又不会这门语言. github上也有别人贡献的c++代码,不过还 ...