最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET自帶對象JSON字符串與實體類的轉換

 更新時間:2016年07月11日 10:52:27   作者:JoinJ  
這篇文章主要介紹了ASP.NET自帶對象JSON字符串與實體類的轉換,感興趣的小伙伴們可以參考一下

關于JSON的更多介紹,請各位自行google了解!如果要我寫的話,我也是去Google后copy!嘿嘿,一直以來很想學習json,大量的找資料和寫demo,總算有點了解! 切入正題!

還是先封裝一個類吧! 這個類網上都可以找到的!有個這個類,一切都將變得簡單了,哈哈。

 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 GetJson<T>(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 ParseFormJson<T>(string szJson)
  {
    T obj = Activator.CreateInstance<T>();
    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;
    List<TestData> tds = new List<TestData>();
    //測試數據
    for (int i = 1; i < 4; i++)
    {
      tds.Add(new TestData() { Id = i, Name = "jinho" + i, Sex = "male" });
    }    //把一個list轉換為json字符串
    jsonStr = JsonHelper.GetJson<List<TestData>>(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 類,一切都好辦!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • .NET Windows 多線程thread編程

    .NET Windows 多線程thread編程

    .net里使用線程,用thread類,定義線程,啟動,銷毀,全部包括在這個類里,定義一個線程,必須指定這個線程的函數,也就是這個線程是做什么的
    2012-12-12
  • asp.net(c#)兩種隨機數的算法,可用抽考題

    asp.net(c#)兩種隨機數的算法,可用抽考題

    asp.net(c#)兩種隨機數的算法,可用抽考題...
    2007-04-04
  • asp.net?web?api2設置默認啟動登錄頁面的方法

    asp.net?web?api2設置默認啟動登錄頁面的方法

    這篇文章主要介紹了asp.net?web?api2設置默認啟動登錄頁面的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • GraphQL在.NET?8中的全面實踐指南(最新推薦)

    GraphQL在.NET?8中的全面實踐指南(最新推薦)

    .NET 8為構建高性能GraphQL服務提供了堅實的基礎,結合HotChocolate這樣的成熟庫,開發(fā)者可以快速構建靈活、高效的API服務,本文涵蓋了從基礎到高級的各個方面,希望能幫助您在.NET生態(tài)中充分利用GraphQL的優(yōu)勢,需要的朋友可以參考下
    2025-05-05
  • .Net?Core3.0?WebApi?項目框架搭建之使用Serilog替換掉Log4j

    .Net?Core3.0?WebApi?項目框架搭建之使用Serilog替換掉Log4j

    Serilog 是一個用于.NET應用程序的日志記錄開源庫,配置簡單,接口干凈,并可運行在最新的.NET平臺上,這篇文章主要介紹了.Net?Core3.0?WebApi?項目框架搭建之使用Serilog替換掉Log4j,需要的朋友可以參考下
    2022-02-02
  • .NET8實現PDF合并的示例代碼

    .NET8實現PDF合并的示例代碼

    這篇文章主要為大家詳細介紹了如何使用.NET8實現PDF合并的效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-12-12
  • Asp.Net中的Action和Func委托實現

    Asp.Net中的Action和Func委托實現

    這篇文章主要介紹了Asp.Net中的Action和Func委托的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • JAVA正則表達式 Pattern和Matcher

    JAVA正則表達式 Pattern和Matcher

    java.util.regex是一個用正則表達式所訂制的模式來對字符串進行匹配工作的類庫包。
    2009-04-04
  • .net后臺代碼調用前臺JS的兩種方式

    .net后臺代碼調用前臺JS的兩種方式

    這篇文章主要介紹了.net后臺代碼調用前臺JS的兩種方式,需要的朋友可以參考下
    2014-03-03
  • ASP.NET中實現文件的保護性下載基礎篇

    ASP.NET中實現文件的保護性下載基礎篇

    許多時候,我們需要在因特網上提供文件下載服務,但是又要防止未經授權的下載,這時該怎么辦?本文將為讀者詳細介紹一種使用ASP.NET實現的HTTP處理程序的解決方案。
    2011-02-02

最新評論

永州市| 科技| 西充县| 隆回县| 隆化县| 新蔡县| 高雄县| 永安市| 西和县| 凉城县| 新津县| 玉树县| 徐水县| 五大连池市| 碌曲县| 滨海县| 嵊州市| 上杭县| 沾化县| 尼木县| 万全县| 民勤县| 崇礼县| 长宁县| 凤庆县| 隆德县| 固原市| 丹棱县| 许昌市| 十堰市| 金溪县| 奉化市| 肃宁县| 绥德县| 潮州市| 高邮市| 马龙县| 金川县| 清流县| 类乌齐县| 永州市|