C# オブジェクトを JSON 文字列に変換する

Minahil Noor 2023年10月12日
  1. C# で JavaScriptSerializer().Serialize() メソッドを使用してオブジェクトを JSON 文字列に変換する C#
  2. C# で JsonConvert.SerializeObject() メソッドを使用してオブジェクトを JSON 文字列に変換する
  3. C# で JObject.FromObject() メソッドを使用してオブジェクトを JSON 文字列に変換する
C# オブジェクトを JSON 文字列に変換する

C# では、情報を JavaScript Object Notation(JSON)と呼ばれる便利な形式に変換できます。JSON 形式の方が理解しやすく処理しやすいので変換されます。

この記事では、C# オブジェクトを JSON 文字列に変換するメソッドを中心に紹介します。

C# で JavaScriptSerializer().Serialize() メソッドを使用してオブジェクトを JSON 文字列に変換する C#

このメソッドを実装するには、まず情報を含むカスタムクラスオブジェクトを作成します。次に、このオブジェクトはパラメーターとして JavaScriptSerializer().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