前台代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="JSonExercise.WebForm1" validateRequest="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div> 将Customer类转成string&nbsp;&nbsp;:<asp:TextBox ID="rT1" runat="server" TextMode="MultiLine" Width="600px" Height="150"></asp:TextBox>
<br />
读txt文件并转成Customer类:<asp:TextBox ID="txtCustomer" runat="server" TextMode="MultiLine" Width="600" Height="150"></asp:TextBox> <br /> <br />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click"
Text="Json类序列化string" /> <br />
<br /> <asp:Button ID="Button2" runat="server" onclick="Button2_Click"
Text="读txt文件发序列化Custom类" /> </div>
</form>
</body>
</html>

后台代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.IO;
using System.Xml.Serialization; namespace JSonExercise
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
public class Customer
{
public int Unid { get; set; }
public string CustomerName { get; set; }
}
// 将实体转成string
public string ToJson(Customer customer)
{ string strReturn = SerializeToXml(customer);
return strReturn; } protected void Button1_Click(object sender, EventArgs e)
{
Customer cc = new Customer { Unid = , CustomerName = "John" };
string strJson = ToJson(cc);
rT1.Text = strJson;
}
#region 实现对象转换成XML类型字符串。
/// <summary>
/// 实现对象转换成XML类型字符串。
/// </summary>
/// <param name="obj">Object对象参数</param>
/// <returns>返回XML类型字符串</returns>
public static string SerializeToXml(object obj)
{
XmlSerializer s = new XmlSerializer(obj.GetType());
StringBuilder sb = new StringBuilder();
StringWriter writer = new StringWriter(sb);
s.Serialize(writer, obj);
return sb.ToString().Replace(@"\>\s+", ">");
}
#endregion #region 实现Xml字符串转换为实体对象。
/// <summary>
/// 实现Xml字符串转换为实体对象。
/// </summary>
/// <typeparam name="T">实体对象的类型</typeparam>
/// <param name="xmlObject">xml字符串</param>
/// <returns>返回对应的实体对象</returns>
public static T DeserializeXmlString<T>(string xmlObject)
{
XmlSerializer s = new XmlSerializer(typeof(T));
StringReader stringReader = new StringReader(xmlObject);
return (T)s.Deserialize(stringReader);
}
#endregion protected void Button2_Click(object sender, EventArgs e)
{
FileStream fs1 = new FileStream("customer.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs1);
string str1 = sr.ReadToEnd();
sr.Close();
fs1.Close();
Customer customer = DeserializeXmlString<Customer>(str1);
txtCustomer.Text = customer.Unid + " " + customer.CustomerName;
} }
}

Json序列化与反序列化完整实例的更多相关文章

  1. JSON序列化和反序列化的实例

    之前有项目中使用到了Json的序列化和反序列化,现在将使用的实例记录下来以备查阅.如有不妥,请指教. 代码的最终目的是得到一个符合 resultClass<List<rtnGetFindM ...

  2. Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解

    Newtonsoft.Json C# Json序列化和反序列化工具的使用.类型方法大全   Newtonsoft.Json Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就 ...

  3. C# JSON 序列化和反序列化——JavaScriptSerializer实现

    一. JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.您无法访问序列化程序的此实例.但是,此类公开了公共 API.因此, ...

  4. 序列化对象C++对象的JSON序列化与反序列化探索

    新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 一:背景 作为一名C++开发人员,我始终很期待能够像C#与JAVA那样,可以省力的进行对象的序列化与反序列化,但到现在为止,还没有找 ...

  5. C++对象的JSON序列化与反序列化探索完结-列表的序列化与反序列化

    在前两篇文章中,我们已经完成对普通对象以及复杂对象嵌套的序列化与反序列化,见如下地址: C++对象的JSON序列化与反序列化探索 C++对象的JSON序列化与反序列化探索续-复杂对象的序列化与反序列化 ...

  6. C++对象的JSON序列化与反序列化探索

    一:背景 作为一名C++开发人员,我一直很期待能够像C#与JAVA那样,可以轻松的进行对象的序列化与反序列化,但到目前为止,尚未找到相对完美的解决方案. 本文旨在抛砖引玉,期待有更好的解决方案:同时向 ...

  7. 转:Json序列化和反序列化

    JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍 ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介 ...

  8. WPF中的常用布局 栈的实现 一个关于素数的神奇性质 C# defualt关键字默认值用法 接口通俗理解 C# Json序列化和反序列化 ASP.NET CORE系列【五】webapi整理以及RESTful风格化

    WPF中的常用布局   一 写在开头1.1 写在开头微软是一家伟大的公司.评价一门技术的好坏得看具体的需求,没有哪门技术是面面俱到地好,应该抛弃对微软和微软的技术的偏见. 1.2 本文内容本文主要内容 ...

  9. 在net中json序列化与反序列化 面向对象六大原则 (第一篇) 一步一步带你了解linq to Object 10分钟浅谈泛型协变与逆变

    在net中json序列化与反序列化   准备好饮料,我们一起来玩玩JSON,什么是Json:一种数据表示形式,JSON:JavaScript Object Notation对象表示法 Json语法规则 ...

随机推荐

  1. new Handler()和new Handler(Looper.getMainLooper())的区别

    一个帖子的整理: Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别如果你不带参数的实例化:Handler ...

  2. proxifier 注册码

    https://www.proxifier.com/index.htm L6Z8A-XY2J4-BTZ3P-ZZ7DF-A2Q9C(Portable Edition) 5EZ8G-C3WL5-B56Y ...

  3. 格式化用jad反编译混淆过的代码,能去大部分错误 (zhuanzai)

    http://blog.csdn.net/chruan/article/details/8484783

  4. BZOJ 2732 射箭

    http://www.lydsy.com/JudgeOnline/problem.php?id=2732 题意:给你n个靶子,让你求是否有一个经过原点的抛物线经过最多的前k个靶子,求出最大的k 思路: ...

  5. Light OJ 1314 Names for Babies

    http://www.lightoj.com/volume_showproblem.php?problem=1314 题意:给定一个串和p,q,求长度在p到q之间的子串有几种 思路:后缀数组,对于每个 ...

  6. logstash 判断接口响应时间发送zabbix告警

    input { file { type => "zj_api_access" path => ["/data01/applog_backup/zjzc_log ...

  7. SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)

    SQL 连接 JOIN 例解.(左连接,右连接,全连接,内连接,交叉连接,自连接) 最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想-现在在这写写关于它们的作用假设有 ...

  8. 【转】深圳FAE,想拿高薪还缺什么?

    原文网址:http://www.eefocus.com/KTHR_IC/blog/11-05/222793_e04c8.html KT老胡您好! 我07年本科毕业在一家医疗民营企业从事了3年多的嵌入式 ...

  9. Laravel-表单篇-零散信息

    1.asset('path'):用于引入静态文件,包括css.js.img 2.分页,调用模型的paginate(每页显示的行数)方法, 如$student = Student::paginate(2 ...

  10. HDU 4907 Task schedule

    对于询问q 假设q不存在直接输出q 否则输出后面第一个不存在的数 从2*10^5到1遍历一边ac #include<bits/stdc++.h> using namespace std; ...