C# 將物件轉換為 JSON 字串

Minahil Noor 2023年10月12日
  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