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

C#實現(xiàn)JsonString與Object互轉(zhuǎn)

 更新時間:2024年12月26日 11:29:22   作者:洱海之月  
這篇文章主要為大家介紹了如何使用.NET庫System.Web.Extensions.dll和Newtonsoft.Json.dll實現(xiàn)Json字符串之間的轉(zhuǎn)換,感興趣的小伙伴可以參考下

主要講述了兩種方法的轉(zhuǎn)換,最后提供了格式化輸出JsonString字符串。

需要引用程序集 System.Web.Extensions.dll、Newtonsoft.Json.dll

System.Web.Extensions.dll可直接在程序集中引用,Newtonsoft.Json.dll需要在NuGet中下載引用。

詳細代碼:

using System;
using System.IO;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Web.Script.Serialization;
 
namespace TestAutomationUtility.Models
{
    /// <summary>
    /// <para>需要引用程序集 System.Web.Extensions.dll、Newtonsoft.Json.dll</para>
    /// <para>提供了兩種方式轉(zhuǎn)換</para>
    /// </summary>
    internal class ConvertToJsonString
    {
        /// <summary>
        /// 把json轉(zhuǎn)集合
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="JsonStr"></param>
        /// <returns></returns>
        public List<T> JSONStringToList<T>(string JsonStr)
        {
            JavaScriptSerializer Serializer = new JavaScriptSerializer();
            List<T> objs = Serializer.Deserialize<List<T>>(JsonStr);
            return objs;
        }
 
        /// <summary>
        /// 把json轉(zhuǎn)對象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="JsonStr"></param>
        /// <returns></returns>
        public T JSONStringToEntity<T>(string JsonStr)
        {
            JavaScriptSerializer Serializer = new JavaScriptSerializer();
            T objs = Serializer.Deserialize<T>(JsonStr);
            return objs;
        }
 
        /// <summary>
        /// 把對象轉(zhuǎn)為json
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="t"></param>
        /// <returns></returns>
        public string ToString<T>(T t)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            string jsonString = serializer.Serialize(t);
            return jsonString;
        }
 
        /// <summary>
        /// 把list集合轉(zhuǎn)為json
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="t"></param>
        /// <returns></returns>
        public string ToString<T>(List<T> ts)
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            string jsonString = serializer.Serialize(ts);
            return jsonString;
        }
 
        /// <summary>
        /// object轉(zhuǎn)string
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public string ToStringObject(Object obj)
        {
            string json = Newtonsoft.Json.JsonConvert.SerializeObject(obj);
            return json;
        }
 
        /// <summary>
        /// json轉(zhuǎn)Entity
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public T StringToEntity<T>(string jsonString)
        {
            T person = JsonConvert.DeserializeObject<T>(jsonString);
            return person;
        }
 
        /// <summary>
        /// json轉(zhuǎn)List
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public IList<T> StringToEntitys<T>(string jsonString)
        {
            IList<T> person = JsonConvert.DeserializeObject<IList<T>>(jsonString);
            return person;
        }
 
        /// <summary>
        /// 格式化輸出json字符串
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        private string ConvertJsonString(string json)
        {
            JsonSerializer serializer = new JsonSerializer();
            TextReader tr = new StringReader(json);
            JsonTextReader jtr = new JsonTextReader(tr);
            object obj = serializer.Deserialize(jtr);
            if (obj != null)
            {
                StringWriter textWriter = new StringWriter();
                JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)
                {
                    Formatting = Formatting.Indented,
                    Indentation = 4,
                    IndentChar = ' '
                };
                serializer.Serialize(jsonWriter, obj);
                return textWriter.ToString();
            }
            else
            {
                return json;
            }
        }
    }
}

知識拓展

C# JSONObject實現(xiàn)數(shù)據(jù)轉(zhuǎn)換

在C#中,你可以使用Newtonsoft.Json庫(也稱為Json.NET)來處理JSON數(shù)據(jù)。首先,你需要安裝這個庫,可以通過NuGet包管理器來安裝:

Install-Package Newtonsoft.Json

安裝完成后,你可以使用以下代碼示例來實現(xiàn)JSON對象的數(shù)據(jù)轉(zhuǎn)換:

using System;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace JsonToCSharpObject
{
    class Program
    {
        static void Main(string[] args)
        {
            string jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";

            // 將JSON字符串轉(zhuǎn)換為C#對象
            Person person = JsonConvert.DeserializeObject<Person>(jsonString);

            Console.WriteLine($"Name: {person.Name}");
            Console.WriteLine($"Age: {person.Age}");
            Console.WriteLine($"City: {person.City}");

            // 將C#對象轉(zhuǎn)換回JSON字符串
            string jsonFromObject = JsonConvert.SerializeObject(person);

            Console.WriteLine($"JSON from object: {jsonFromObject}");
        }
    }

    public class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public string City { get; set; }
    }
}

在這個示例中,我們首先定義了一個名為Person的C#類,該類具有與JSON對象中的屬性相對應(yīng)的屬性。然后,我們使用JsonConvert.DeserializeObject方法將JSON字符串轉(zhuǎn)換為Person對象。接下來,我們使用Console.WriteLine輸出轉(zhuǎn)換后的數(shù)據(jù)。

最后,我們使用JsonConvert.SerializeObject方法將Person對象轉(zhuǎn)換回JSON字符串,并將其輸出到控制臺。

到此這篇關(guān)于C#實現(xiàn)JsonString與Object互轉(zhuǎn)的文章就介紹到這了,更多相關(guān)C# JsonString Object互轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C# Process調(diào)用外部程序的實現(xiàn)

    C# Process調(diào)用外部程序的實現(xiàn)

    這篇文章主要介紹了C# Process調(diào)用外部程序的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • c# 備忘錄模式

    c# 備忘錄模式

    備忘錄模式:在不破壞封裝的前提下,捕獲一個對象的內(nèi)部狀態(tài),并在這個對象之外的地方保存這個狀態(tài),這樣以后就可將該對象恢復(fù)到原來保存的狀態(tài)了
    2012-10-10
  • 使用C#代碼重新排列PDF頁面的操作代碼

    使用C#代碼重新排列PDF頁面的操作代碼

    對于頁面順序混亂的 PDF 文檔,重新排列頁面可以避免讀者產(chǎn)生困惑,同時也能讓文檔結(jié)構(gòu)更加清晰有序,本文將演示如何使用 Spire.PDF for .NET 以編程方式重新排列現(xiàn)有 PDF 文檔中的頁面,需要的朋友可以參考下
    2025-12-12
  • C#實現(xiàn)高性能檢索文檔的5大核心技巧總結(jié)

    C#實現(xiàn)高性能檢索文檔的5大核心技巧總結(jié)

    C#如何突破10GB文檔的檢索瓶頸,是優(yōu)化算法,還是升級硬件,內(nèi)存與磁盤如何平衡,下面小編就為大家簡單分享5個C#高性能檢索文檔的核心技巧吧
    2025-10-10
  • C#鉤子Hook監(jiān)聽鍵盤鼠標事件實現(xiàn)窗體自動關(guān)閉

    C#鉤子Hook監(jiān)聽鍵盤鼠標事件實現(xiàn)窗體自動關(guān)閉

    鉤子(Hook)的作用主要體現(xiàn)在監(jiān)視和攔截系統(tǒng)或進程中的各種事件消息,并進行自定義處理,本文主要介紹了C#如何利用鉤子Hook監(jiān)聽鍵盤鼠標事件實現(xiàn)窗體自動關(guān)閉功能,感興趣的可以了解下
    2025-01-01
  • C#調(diào)用釘釘API發(fā)送通知的實現(xiàn)示例

    C#調(diào)用釘釘API發(fā)送通知的實現(xiàn)示例

    本文介紹了使用C#調(diào)用釘釘API實現(xiàn)企業(yè)通知推送的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-11-11
  • 如何利用C#打印九九乘法表

    如何利用C#打印九九乘法表

    這篇文章主要給大家介紹了關(guān)于如何利用C#打印九九乘法表的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C#實現(xiàn)實體類和XML相互轉(zhuǎn)換

    C#實現(xiàn)實體類和XML相互轉(zhuǎn)換

    這篇文章主要為大家詳細介紹了C#實現(xiàn)實體類和XML相互轉(zhuǎn)換的資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • c#中合并excel表格的方法示例

    c#中合并excel表格的方法示例

    本篇文章主要介紹了c#中合并excel表格的方法,就是將excel表格結(jié)構(gòu)一樣的合并到一起,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • C#自定義控件VS用戶控件

    C#自定義控件VS用戶控件

    這篇文章主要為大家詳細介紹了C#中自定義控件VS用戶控件的區(qū)別,介紹了開發(fā)自己的控件的幾種方法、自定義控件與用戶控件區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評論

西宁市| 沅江市| 商城县| 改则县| 乌鲁木齐县| 灌云县| 邛崃市| 郸城县| 嘉善县| 龙胜| 浪卡子县| 平乐县| 胶南市| 九龙城区| 桂平市| 江西省| 玛纳斯县| 芮城县| 鹤峰县| 恭城| 永新县| 延川县| 靖宇县| 会东县| 正镶白旗| 九龙坡区| 肥东县| 万州区| 浪卡子县| 丰镇市| 汪清县| 茌平县| 平罗县| 礼泉县| 延吉市| 辰溪县| 纳雍县| 石棉县| 崇信县| 喀什市| 景谷|