常用代码之四:创建jason,jason转换为字符串,字符串转换回jason,c#反序列化jason字符串的几个代码片段
1.创建jason,并JSON.stringify()将之转换为字符串。
直接使用var customer={}, 然后直接customer.属性就可以直接赋值了。
也可以var customer = { CustomerName: CustomerName, CustomerAddress: CustomerAddress } 这样创建,它会自动将:前面的CustomerName视作属性名并加上双引号,并将后面的CustomerName当作属性值,读取变量值后也加上双引号,当然,这不如上面的方式面向对象。

提交表单前,要使用JSON.stringify()方法将jason对象转换为字符串。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebAppJason._Default" %>
<head runat="server">
<title></title>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<script type="text/javascript">
function abc() {
var customer = {};
customer.CustomerName = document.getElementById("CustomerName").value;
customer.CustomerAddress = document.getElementById("CustomerAddress").value;
customer = JSON.stringify(customer);
//alert(customer);
document.getElementById("customer").value = customer;
}
</script>
</head>
<body>
<form id="form1" runat="server" >
<div>
<input type="text" id="CustomerName" />
<input type="text" id="CustomerAddress" />
<input type="text" id="customer" runat="server" />
<input type="button" id="button1" value="button1" onclick="abc()" />
<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" />
<input type="text" id="CustomerName0" runat="server" />
<input type="text" id="CustomerAddress0" runat="server" /></div>
</form>
</body>
</html>
2.在C#中,引用system.web.extension.dll,并using System.Web.Script.Serialization,然后直接用JavaScriptSerializer的Deserialize方法把字符串反序列化为Customer对象使用了,非常简单方便。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Script.Serialization;
namespace WebAppJason
{
public class Customer {
public string CustomerName = "";
public string CustomerAddress = "";
}
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string custr = this.customer.Value;
if (custr != null && custr.Length > )
{
JavaScriptSerializer jsc = new JavaScriptSerializer();
Customer c = jsc.Deserialize<Customer>(custr); this.CustomerName0.Value = c.CustomerName;
this.CustomerAddress0.Value = c.CustomerAddress;
}
}
}
}
3.使用JSON.parse()将字符串转回jason
function abc() {
var CustomerName = document.getElementById("CustomerName").value;
var CustomerAddress = document.getElementById("CustomerAddress").value;
var customer = {};
customer.CustomerName = CustomerName;
customer.CustomerAddress = CustomerAddress;
customer = JSON.stringify(customer);
//alert(customer);
var c2 = JSON.parse(customer);
alert(c2.CustomerName + " " + c2.CustomerAddress);
document.getElementById("customer").value = customer;
}
常用代码之四:创建jason,jason转换为字符串,字符串转换回jason,c#反序列化jason字符串的几个代码片段的更多相关文章
- H面试程序(28):字符串处理转换
//2 字符串处理转换 //问题描述: //在给定字符串中找出单词( “单词”由大写字母和小写字母字符构成, //其他非字母字符视为单词的间隔,如空格.问号.数字等等:另外单个字母不算单词): //找 ...
- UDP代码编写、操作系统发展史、多道技术、进程理论与代码层面创建、进程join方法与进程对象方法
昨日内容回顾 socket基本使用 # 内置的模块 import socket s = socket.socket() # 默认是TCP协议 也可以切换为UDP协议 s.bind((ip,port)) ...
- 【MySQL】MySQL中针对大数据量常用技术_创建索引+缓存配置+分库分表+子查询优化(转载)
原文地址:http://blog.csdn.net/zwan0518/article/details/11972853 目录(?)[-] 一查询优化 1创建索引 2缓存的配置 3slow_query_ ...
- JAVA将数字字符串强制转换成整型变量----求参数之和实验代码(附流程图)
一.设计思想 先将参数个数输出,并利用循环结果将参数逐个输出,再将字符串强制转化成整型,利用循环结构相加求和 二.程序流程图 三.源程序代码 package demo; public class Co ...
- VS中如何快捷地给自己的代码添加创建信息注释
VS中如何快捷地给自己的代码添加创建信息注释 Intro 以下讨论的都是没有使用 GIT 来管理源代码的情况,如果使用 GIT 管理源代码可直接使用VS的Git扩展就不需要考虑以下问题. 什么是创建信 ...
- 在代码中创建Drawable资源
如何在代码中创建圆环: 先看效果图 代码; import android.graphics.drawable.GradientDrawable; GradientDrawable circle = n ...
- 分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件
原文:分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件 import java.util.zip.*; import java.io.*; public class Zip ...
- 字符串json转换为xml xml转换json
原文:字符串json转换为xml xml转换json // To convert an XML node contained in string xml into a JSON string XmlD ...
- JAVA字符串编码转换常用类
无论是对程序的本地化还是国际化,都会涉及到字符编码的转换的问题.尤其在web应用中常常需要处理中文字符,这时就需要进行字符串的编码转换,将字符串编码转换为GBK或者GB2312.一.关键技术点: ...
随机推荐
- vsphere storage appliance工作原理和实施
摘录自:http://www.07net01.com/storage_networking/VMwarexunihuazhiVSA_vSphere_Storage_Appliance_qunji_yi ...
- C++ 第八课 标准c字符和字符串
atof() 将字符串转换成浮点数 atoi() 将字符串转换成整数 atol() 将字符串转换成长整型数 isalnum() 当字母或数字字符时, 返回真值 isalpha() 当字母字符时, 返回 ...
- 国外某牛人的JsonModelBinder 实现 MVC 3.0
public class JsonModelBinder : DefaultModelBinder { public override object BindModel(ControllerConte ...
- @Service注解的使用
首先,在applicationContext.xml文件中加一行: <context:component-scan base-package="com.hzhi.clas"/ ...
- Maven的坐标与资源库
在Maven世界中,每个工程都有它唯一的 组织名.模块名.版本 ,这三个就是maven项目的坐标,一个maven工程可以打包成jar.war.pom等形式,但是它们都是拥有上述三个坐标的.我们在项目过 ...
- Flash Actionscript AS3 渐变透明 mask遮罩
把图片变成渐变透明(左图是效果图,右图是原图) var a:Sprite = new Sprite(); a.graphics.beginGradientFill(GradientType.LI ...
- javascript之QUnit单元测试
一.javascript也需要单元测试吗? 这里我并不知道你有没有开发过大型的javascript项目,至今我开发过三个大型的js项目,分为是<课程节点树管理>.<在线制作试卷> ...
- 粒子滤波跟踪移动机器人(MATLAB Robotics System Toolbox)
MathWorks从MATLAB 2015a开始推出与ROS集成的Robotics System Toolbox(机器人系统工具箱),它为自主移动机器人的研发提供现成的算法和硬件接口. 粒子滤波基本流 ...
- python之模块pprint之常见用法
# -*- coding: cp936 -*- #python 27 #xiaodeng #python之模块pprint之常见用法 import pprint data = [(1,{'a':'A' ...
- foxmail怎么设置个性签名
foxmail是我们日常使用的邮件客户端之一,相信很多的朋友都在使用.那么,我们在发邮件的时候,很多朋友都会使用一个个性签名,那么对于foxmail的邮件签名怎么来设置呢?今天笔者就来给大家分享一下, ...