C# 將物件轉換為 JSON 字串

Minahil Noor 2023年1月30日 2020年6月9日
  1. C# 使用 JavaScript Serializer().Serialize() 方法將物件轉換為 JSON 字串
  2. C# 使用 JsonConvert.SerializeObject()方法將物件轉換為 JSON 字串
  3. C# 使用 JObject.FromObject()方法將物件轉換為 JSON 字串
C# 將物件轉換為 JSON 字串

在 C# 中,資訊可以轉換為稱為 JavaScript Object Notation(JSON)的有用格式。之所以進行轉換,是因為 JSON 格式更易於理解和處理。

本文重點介紹將 C# 物件轉換為 JSON 字串的方法。

C# 使用 JavaScript Serializer().Serialize() 方法將物件轉換為 JSON 字串

為了實現此方法,我們首先建立一個包含資訊的自定義類物件。然後將該物件作為引數傳遞給 JavaScript Serializer().Serialize() 方法。結果,我們將資訊轉換為 JSON 字串。

此方法的正確語法如下:

var jsonStringName = new JavaScriptSerializer();
var jsonStringResult = jsonStringName.Serialize(ObjectName);

示例程式碼:

using System;
using System.Web.Script.Serialization;

class Conversion
{
    static void Main()
    {
        //Creating Custom Class Object
        var Object = new MyInformation
        {
            firstName = "Olivia",
            lastName = "Mason",
            dateOfBirth = new DateOfBirth
            {
                year = 1999,
                month = 06,
                day = 19
            }
        };
        //Creating a JavaScriptSerializer Object
        var jsonString = new JavaScriptSerializer();
        //Use of Serialize() method
        var jsonStringResult = jsonString.Serialize(Object);
        Console.WriteLine(jsonStringResult);
    }
}
//Custom Classes
public class MyInformation
{
    public string firstName;
    public string lastName;
    public DateOfBirth dateOfBirth;
}

public class DateOfBirth
{
    public int year;
    public int month;
    public int day;
    
}

輸出:

{
    "firstName":"Olivia",
    "lastName":"Mason",
    "dateOfBirth":
    {
        "year":"1999",
        "month":"06",
        "day":"19"
    }
}

C# 使用 JsonConvert.SerializeObject()方法將物件轉換為 JSON 字串

JsonConvert.SerializeObject()是 JsonConvert 類的方法。它用於將 C# 物件轉換為 JSON 字串。該物件作為引數傳遞給此方法。

此方法的正確語法如下:

JsonConvert.SerializeObject(ObjectName);

示例程式碼:

using System;
using Newtonsoft.Json;
 
 
namespace JSONConversion
{
    public class Conversion
    {
        public static void Main(string[] args)
        {
            //Creating custom class object
            Name NewName =new Name
                 {FirstName = "Olivia",
                  LastName = "Mason"};
            //Use of JsonConvert.SerializeObject()
            string jsonString = JsonConvert.SerializeObject(NewName);
            Console.WriteLine(jsonString);
}  
        //Creating custom class
public class Name  
{  
    public string FirstName;  
    public string LastName;    
 
}
    }
}

輸出:

{
    'FirstName': 'Olivia',
    'LastName': 'Mason'
}

C# 使用 JObject.FromObject()方法將物件轉換為 JSON 字串

可以在.Net 的早期版本中實現此方法。它可以輕鬆地將 C# 物件轉換為 JSON 字串。物件名稱作為引數傳遞給此方法。

此方法的正確語法如下:

JObject.FromObject(ObjectName);

示例程式碼:

using System;
using Newtonsoft.Json.Linq;

 
namespace JSONConversion
{
    public class Conversion
    {
        public static void Main(string[] args)
        {
             name Name = new name 
             {firstname = "Olivia",
             lastname = "Mason"};
             //Use of the method
             var json = JObject.FromObject(Name);  
             Console.WriteLine(json); 
         }  
public class name{
    public string firstname;
    public string lastname;
       }
    }
}
    

輸出:

{
  "firstname": "Olivia",
  "lastname": "Mason"
}

相關文章 - Csharp JSON