国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ASP.NET中JSON的序列化和反序列化

這篇具有很好參考價(jià)值的文章主要介紹了ASP.NET中JSON的序列化和反序列化。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

? JSON是專門為瀏覽器中的網(wǎng)頁上運(yùn)行的JavaScript代碼而設(shè)計(jì)的一種數(shù)據(jù)格式。在網(wǎng)站應(yīng)用中使用JSON的場(chǎng)景越來越多,本文介紹ASP.NET中JSON的序列化和反序列化,主要對(duì)JSON的簡單介紹,ASP.NET如何序列化和反序列化的處理,在序列化和反序列化對(duì)日期時(shí)間、集合、字典的處理。

??? 一、JSON簡介

???? JSON(JavaScript Object Notation,JavaScript對(duì)象表示法)是一種輕量級(jí)的數(shù)據(jù)交換格式。

???? JSON是“名值對(duì)”的集合。結(jié)構(gòu)由大括號(hào)'{}',中括號(hào)'[]',逗號(hào)',',冒號(hào)':',雙引號(hào)'“”'組成,包含的數(shù)據(jù)類型有Object,Number,Boolean,String,Array, NULL等。

???? JSON具有以下的形式:

???? 對(duì)象(Object)是一個(gè)無序的“名值對(duì)”集合,一個(gè)對(duì)象以”{”開始,”}”結(jié)束。每個(gè)“名”后跟著一個(gè)”:”,多個(gè)“名值對(duì)”由逗號(hào)分隔。如:

var user={"name":"張三","gender":"男","birthday":"1980-8-8"}

???? 數(shù)組(Array)是值的有序集合,一個(gè)數(shù)組以“[”開始,以“]”結(jié)束,值之間使用“,”分隔。如:

var userlist=[{"user":{"name":"張三","gender":"男","birthday":"1980-8-8"}},{"user":{"name":"李四","gender":"男","birthday":"1985-5-8"}}];

??? 字符串(String)是由雙引號(hào)包圍的任意數(shù)量的Unicode字符的集合,使用反斜線轉(zhuǎn)義。

??? 二、對(duì)JSON數(shù)據(jù)進(jìn)行序列化和反序列化

???? 可以使用DataContractJsonSerializer類將類型實(shí)例序列化為JSON字符串,并將JSON字符串反序列化為類型實(shí)例。DataContractJsonSerializer在System.Runtime.Serialization.Json命名空間下,.NET Framework 3.5包含在System.ServiceModel.Web.dll中,需要添加對(duì)其的引用;.NET Framework 4在System.Runtime.Serialization中。

???? 利用DataContractJsonSerializer序列化和反序列化的代碼:

   1: using System;
   2: using System.Collections.Generic;
   3: using System.Linq;
   4: using System.Web;
   5: using System.Runtime.Serialization.Json;
   6: using System.IO;
   7: using System.Text;
    
    public class JsonHelper
   {
       /// <summary>
       /// JSON序列化
       /// </summary>
      public static string JsonSerializer<T>(T t)
       {
           DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
           MemoryStream ms = new MemoryStream();
           ser.WriteObject(ms, t);
          string jsonString = Encoding.UTF8.GetString(ms.ToArray());
           ms.Close();
           return jsonString;
       }
  
     /// <summary>
      /// JSON反序列化
      /// </summary>
       public static T JsonDeserialize<T>(string jsonString)
      {
             DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
             MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
             T obj = (T)ser.ReadObject(ms);
            return obj;
         }
 }
}

.netcore?

System.Text.Json.JsonSerializer.Serialize(dataEntity)文章來源地址http://www.zghlxwxcb.cn/news/detail-608284.html

到了這里,關(guān)于ASP.NET中JSON的序列化和反序列化的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • iOS處理json,序列化和反序列化

    Mantle 是一個(gè)開源的 Objective-C 框架,用于在 iOS 和 macOS 應(yīng)用程序中實(shí)現(xiàn)模型層的序列化和反序列化。它提供了一種簡單而強(qiáng)大的方式來將 JSON數(shù)據(jù)格式轉(zhuǎn)換為自定義的數(shù)據(jù)模型對(duì)象,以及將數(shù)據(jù)模型對(duì)象轉(zhuǎn)換為字典或 JSON 格式。 Mantle具有如下特點(diǎn) 自動(dòng)映射 Mantle自動(dòng)將 JSON 數(shù)據(jù)

    2024年02月11日
    瀏覽(25)
  • rust學(xué)習(xí)-json的序列化和反序列化

    由于 serde 庫默認(rèn)使用 JSON 格式進(jìn)行序列化和反序列化 因此程序?qū)⑹褂?JSON 格式對(duì)數(shù)據(jù)進(jìn)行序列化和反序列化 JSON:廣泛使用的 JavaScript 對(duì)象符號(hào),用于許多 HTTP API Postcard:no_std 和嵌入式系統(tǒng)友好的緊湊二進(jìn)制格式。 CBOR:用于小消息大小且無需版本協(xié)商的簡潔二進(jìn)制對(duì)象表示

    2024年02月12日
    瀏覽(20)
  • 【網(wǎng)絡(luò)】協(xié)議的定制與Json序列化和反序列化

    【網(wǎng)絡(luò)】協(xié)議的定制與Json序列化和反序列化

    我們程序員寫的一個(gè)個(gè)解決我們實(shí)際問題, 滿足我們?nèi)粘P枨蟮木W(wǎng)絡(luò)程序, 都是在應(yīng)用層 建立鏈接和斷開鏈接 基于TCP協(xié)議,我們需要知道寫代碼時(shí)對(duì)應(yīng)的接口大概在TCP通訊的過程中屬于什么樣的時(shí)間點(diǎn)角色,在TCP協(xié)議時(shí)詳談。三次握手,四次揮手 listen狀態(tài):準(zhǔn)備好了,可以進(jìn)

    2024年02月09日
    瀏覽(20)
  • Untiy Json和Xml的序列化和反序列化

    Untiy Json和Xml的序列化和反序列化

    Ps: Unity C# Json 序列化換行 效果: 引用:

    2024年02月13日
    瀏覽(23)
  • 【探索Linux】P.30(序列化和反序列化 | JSON序列化庫 [ C++ ] )

    【探索Linux】P.30(序列化和反序列化 | JSON序列化庫 [ C++ ] )

    當(dāng)談到網(wǎng)絡(luò)編程時(shí),序列化和反序列化是非常重要的概念。在上一篇文章中,我們已經(jīng)了解了在Linux環(huán)境下實(shí)現(xiàn)簡單的TCP網(wǎng)絡(luò)程序的基礎(chǔ)知識(shí)。本文將繼續(xù)探討序列化和反序列化,這些概念對(duì)于在網(wǎng)絡(luò)上傳輸數(shù)據(jù)以及跨網(wǎng)絡(luò)通信至關(guān)重要。通過深入了解序列化和反序列化,我

    2024年04月08日
    瀏覽(34)
  • Spring Boot 中使用 ObjectMapper 進(jìn)行 JSON 序列化和反序列化

    在 Java 中,可以使用各種 JSON 序列化和反序列化工具將 Java 對(duì)象轉(zhuǎn)換為 JSON 字符串或者將 JSON 字符串轉(zhuǎn)換為 Java 對(duì)象。其中,Jackson 庫是比較常用的 JSON 序列化和反序列化工具之一,它提供了 ObjectMapper 類,用于將 Java 對(duì)象轉(zhuǎn)換為 JSON 字符串,或者將 JSON 字符串轉(zhuǎn)換為 Java 對(duì)象

    2024年02月14日
    瀏覽(20)
  • C#: Json序列化和反序列化,集合為什么多出來一些元素?

    C#: Json序列化和反序列化,集合為什么多出來一些元素?

    如下面的例子,很容易看出問題: 如果類本身的無參構(gòu)造函數(shù),?就添加了一些元素,序列化,再反序列化,會(huì)導(dǎo)致元素增加。 如果要避免,必須添加: new JsonSerializerSettings() { ObjectCreationHandling = ObjectCreationHandling.Replace }

    2024年02月10日
    瀏覽(19)
  • cJSON(C語言JSON)庫(適用于嵌入式序列化和反序列化)

    cJSON(C語言JSON)庫(適用于嵌入式序列化和反序列化)

    JSON與序列化和反序列化 JSON (JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,它以易于閱讀和編寫的文本形式表示結(jié)構(gòu)化數(shù)據(jù)。JSON 格式廣泛用于將數(shù)據(jù)從一個(gè)應(yīng)用程序傳輸?shù)搅硪粋€(gè)應(yīng)用程序,特別是在Web應(yīng)用程序中,因?yàn)樗cJavaScript兼容,容易在客戶端和服務(wù)器之間進(jìn)

    2024年02月04日
    瀏覽(43)
  • ASP.NET Core 3.1系列(4)——讀寫配置文件appsettings.json

    ASP.NET Core 3.1系列(4)——讀寫配置文件appsettings.json

    在大多數(shù)的應(yīng)用程序中,一些參數(shù)需要寫在配置文件里,以此增加系統(tǒng)的靈活性。在 ASP.NET 時(shí)代,配置參數(shù)一般會(huì)寫在 web.config 文件中,其本質(zhì)上是對(duì) XML 文件的讀取和寫入。而在 ASP.NET Core 中,配置文件變成了 appsettings.json 文件。相較于 XML , JSON 文件更加輕量且靈活,下面

    2024年02月06日
    瀏覽(26)
  • 協(xié)議,序列化,反序列化,Json

    協(xié)議,序列化,反序列化,Json

    協(xié)議究竟是什么呢?首先得知道主機(jī)之間的網(wǎng)絡(luò)通信交互的是什么數(shù)據(jù),像平時(shí)使用聊天APP聊天可以清楚,用戶看到的不僅僅是聊天的文字,還能夠看到用戶的頭像昵稱等其他屬性。也就可以證明網(wǎng)絡(luò)通信不僅僅是交互字符串那么簡單。事實(shí)上網(wǎng)絡(luò)通信還可能會(huì)通過一個(gè)結(jié)構(gòu)

    2024年02月13日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包