• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP.NET JSON字符串与实体类的互转换示例代码

    还是先封装一个类吧! 这个类网上都可以找到的!有个这个类,一切都将变得简单了,哈哈。

    复制代码 代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Runtime.Serialization.Json;
    using System.ServiceModel.Web;///记得引用这个命名空间
    using System.IO;
    using System.Text;
    /// summary>
    /// Summary description for JsonHelper
    /// /summary>
    public class JsonHelper
    {
        public JsonHelper()
        {
            //
            // TODO: Add constructor logic here
            //
        }
        /// summary>
        /// 把对象序列化 JSON 字符串
        /// /summary>
        /// typeparam name="T">对象类型/typeparam>
        /// param name="obj">对象实体/param>
        /// returns>JSON字符串/returns>
        public static string GetJsonT>(T obj)
        {
            //记住 添加引用 System.ServiceModel.Web
            /**
             * 如果不添加上面的引用,System.Runtime.Serialization.Json; Json是出不来的哦
             * */
            DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T));
            using (MemoryStream ms = new MemoryStream())
            {
                json.WriteObject(ms, obj);
                string szJson = Encoding.UTF8.GetString(ms.ToArray());
                return szJson;
            }
        }
        /// summary>
        /// 把JSON字符串还原为对象
        /// /summary>
        /// typeparam name="T">对象类型/typeparam>
        /// param name="szJson">JSON字符串/param>
        /// returns>对象实体/returns>
        public static T ParseFormJsonT>(string szJson)
        {
            T obj = Activator.CreateInstanceT>();
            using (MemoryStream ms = new MemoryStream (Encoding.UTF8.GetBytes(szJson)))
            {
                DataContractJsonSerializer dcj = new DataContractJsonSerializer(typeof(T));
                return (T)dcj.ReadObject(ms);
            }
        }
    }

    测试实体类:
    复制代码 代码如下:

    public class TestData
    {
        public TestData()
        {
        }
        public int Id { get; set; }
        public string Name { get; set; }
        public string Sex { get; set; }
    }

    测试页面:
    复制代码 代码如下:

    %@ Page Language="C#" %>
    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            string jsonStr = string.Empty;
            ListTestData> tds = new ListTestData>();
            //测试数据
            for (int i = 1; i 4; i++)
            {
                tds.Add(new TestData() { Id = i, Name = "jinho" + i, Sex = "male" });
            }        //把一个list转换为json字符串
            jsonStr = JsonHelper.GetJsonListTestData>>(tds);
            Response.Write(jsonStr);
            this.Page.ClientScript.RegisterStartupScript(this.GetType(), "json", "getJson(" + jsonStr + ");", true);
        }

    /script>
    script type="text/javascript">
        function getJson(jsonStr) {        //使用eval函数
            var json = eval(jsonStr);         //因为上面为list集合
            for (var i = 0; i json.length; i++) {
                alert(json[i].Id + "Name:" + json[i].Name);
            }
        }
    /script>
    html xmlns="http://www.w3.org/1999/xhtml">
    head runat="server">
        title>/title>
    /head>
    body>
        form id="form1" runat="server">
        div>

        /div>
        /form>
    /body>
    /html>


    关于json字符串转换为实体请各位自己测试吧!只要有上面那个JsonHelper 类,一切都好办!

    您可能感兴趣的文章:
    • 使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
    • 使用ASP.NET一般处理程序或WebService返回JSON的实现代码
    • asp.net(C#)解析Json的类代码
    • asp.net JSONHelper JSON帮助类
    • Jquery 组合form元素为json格式,asp.net反序列化
    • asp.net+jquery Jsonp使用方法
    • Jquery中getJSON在asp.net中的使用说明
    • jQuery+ajax+asp.net获取Json值的方法
    • 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法
    • asp.net使用DataTable构造Json字符串的方法
    • ASP.NET中XML转JSON的方法实例
    • asp.net提取多层嵌套json数据的方法
    上一篇:ASP.NET Dictionary 的基本用法示例介绍
    下一篇:asp.net使用jQuery获取RadioButtonList成员选中内容和值示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP.NET JSON字符串与实体类的互转换示例代码 ASP.NET,JSON,字符串,与,实体,