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

ASP.NET自帶對(duì)象JSON字符串與實(shí)體類(lèi)的轉(zhuǎn)換

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

關(guān)于JSON的更多介紹,請(qǐng)各位自行g(shù)oogle了解!如果要我寫(xiě)的話(huà),我也是去Google后copy!嘿嘿,一直以來(lái)很想學(xué)習(xí)json,大量的找資料和寫(xiě)demo,總算有點(diǎn)了解! 切入正題!

還是先封裝一個(gè)類(lèi)吧! 這個(gè)類(lèi)網(wǎng)上都可以找到的!有個(gè)這個(gè)類(lèi),一切都將變得簡(jiǎn)單了,哈哈。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization.Json;
using System.ServiceModel.Web;///記得引用這個(gè)命名空間
using System.IO;
using System.Text;
/// <summary>
/// Summary description for JsonHelper
/// </summary>
public class JsonHelper
{
  public JsonHelper()
  {
    //
    // TODO: Add constructor logic here
    //
  }
  /// <summary>
  /// 把對(duì)象序列化 JSON 字符串 
  /// </summary>
  /// <typeparam name="T">對(duì)象類(lèi)型</typeparam>
  /// <param name="obj">對(duì)象實(shí)體</param>
  /// <returns>JSON字符串</returns>
  public static string GetJson<T>(T obj)
  {
    //記住 添加引用 System.ServiceModel.Web 
    /**
     * 如果不添加上面的引用,System.Runtime.Serialization.Json; Json是出不來(lái)的哦
     * */
    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字符串還原為對(duì)象
  /// </summary>
  /// <typeparam name="T">對(duì)象類(lèi)型</typeparam>
  /// <param name="szJson">JSON字符串</param>
  /// <returns>對(duì)象實(shí)體</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);
    }
  }
}

測(cè)試實(shí)體類(lèi): 

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

測(cè)試頁(yè)面: 

<%@ 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>();
    //測(cè)試數(shù)據(jù)
    for (int i = 1; i < 4; i++)
    {
      tds.Add(new TestData() { Id = i, Name = "jinho" + i, Sex = "male" });
    }    //把一個(gè)list轉(zhuǎn)換為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函數(shù)
    var json = eval(jsonStr);     //因?yàn)樯厦鏋閘ist集合
    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>

關(guān)于json字符串轉(zhuǎn)換為實(shí)體請(qǐng)各位自己測(cè)試吧!只要有上面那個(gè)JsonHelper 類(lèi),一切都好辦!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • .NET Windows 多線(xiàn)程thread編程

    .NET Windows 多線(xiàn)程thread編程

    .net里使用線(xiàn)程,用thread類(lèi),定義線(xiàn)程,啟動(dòng),銷(xiāo)毀,全部包括在這個(gè)類(lèi)里,定義一個(gè)線(xiàn)程,必須指定這個(gè)線(xiàn)程的函數(shù),也就是這個(gè)線(xiàn)程是做什么的
    2012-12-12
  • asp.net(c#)兩種隨機(jī)數(shù)的算法,可用抽考題

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

    asp.net(c#)兩種隨機(jī)數(shù)的算法,可用抽考題...
    2007-04-04
  • asp.net?web?api2設(shè)置默認(rèn)啟動(dòng)登錄頁(yè)面的方法

    asp.net?web?api2設(shè)置默認(rèn)啟動(dòng)登錄頁(yè)面的方法

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

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

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

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

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

    .NET8實(shí)現(xiàn)PDF合并的示例代碼

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

    Asp.Net中的Action和Func委托實(shí)現(xiàn)

    這篇文章主要介紹了Asp.Net中的Action和Func委托的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • JAVA正則表達(dá)式 Pattern和Matcher

    JAVA正則表達(dá)式 Pattern和Matcher

    java.util.regex是一個(gè)用正則表達(dá)式所訂制的模式來(lái)對(duì)字符串進(jìn)行匹配工作的類(lèi)庫(kù)包。
    2009-04-04
  • .net后臺(tái)代碼調(diào)用前臺(tái)JS的兩種方式

    .net后臺(tái)代碼調(diào)用前臺(tái)JS的兩種方式

    這篇文章主要介紹了.net后臺(tái)代碼調(diào)用前臺(tái)JS的兩種方式,需要的朋友可以參考下
    2014-03-03
  • ASP.NET中實(shí)現(xiàn)文件的保護(hù)性下載基礎(chǔ)篇

    ASP.NET中實(shí)現(xiàn)文件的保護(hù)性下載基礎(chǔ)篇

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

最新評(píng)論

华安县| 荔浦县| 宜川县| 崇左市| 兴文县| 杭锦后旗| 桃源县| 湖北省| 秭归县| 博白县| 灵石县| 肥西县| 团风县| 兴安县| 改则县| 阿克苏市| 格尔木市| 奉新县| 延边| 塘沽区| 安徽省| 新野县| 梅州市| 措勤县| 蒲江县| 肥乡县| 洮南市| 鄯善县| 隆德县| 富源县| 芜湖市| 奎屯市| 洱源县| 陇西县| 南丹县| 紫云| 临湘市| 东丽区| 罗田县| 沿河| 方正县|