C# 解析 JSON

  1. JsonConvert.DeserializeObject() メソッドを使用して JSON string を解析する C# プログラム
  2. JObject.Parse() メソッドを使用して JSON 文字列を解析する C# プログラム
  3. JavaScriptSerializer().Deserialize() メソッドを使用して JSON 文字列を解析する C# プログラム

JavaScript Object Notation(JSON)はデータを交換するためのフォーマットです。人間にとっては書きやすく、機械にとっては処理が簡単です。C# では、JSON データを処理する多くのメソッドがあります。

この記事では、JSON を C# オブジェクトに解析する方法について説明します。

JsonConvert.DeserializeObject() メソッドを使用して JSON string を解析する C# プログラム

メソッド JsonConvert.DeserializeObject()JsonConvert クラスに属しています。JSON 文字列を C# オブジェクトに変換するために使用されます。オブジェクトは、JSON 文字列を分析して作成されるカスタムクラスです。

このメソッドを使用するための正しい構文は次のとおりです。

JsonConvert.DeserializeObject<CustomClassName>(JsonStringName);

コード例:

using System;
using Newtonsoft.Json;
 
 
namespace JSONParsing
{
    public class Parsing
    {
        public static void Main(string[] args)
        {
            var jsonString = @"{'FirstName': 'Olivia', 'LastName': 'Mason'}"; 
            //Use of the method
            var NameObject = JsonConvert.DeserializeObject < Name > (jsonString);  
            Console.WriteLine(string.Concat("The First Name and Last Name are, ", NameObject.FirstName, " " + NameObject.LastName, "."));
        }  
        //Creating custom class after analyzing JSON string
public class Name  
       {  
    public string FirstName {  
        get;  
        set;  
      }  
    public string LastName {  
        get;  
        set;  
      }     
 
        }
    }
}

出力:

The First Name and Last Name are: Olivia Mason.

このメソッドは、JSON から C# オブジェクトへの変換が失敗した場合に JsonSerializationException をスローします。この例外は、try-catch ブロックを使用して処理されます。

JObject.Parse() メソッドを使用して JSON 文字列を解析する C# プログラム

メソッド JObject.Parse()JObject クラスのメソッドです。この解析メソッドは、JSON 文字列を C# オブジェクトに解析するために使用されます。文字列のデータを key 値に基づいて解析します。次に、この key 値を使用してデータを取得します。

このメソッドを使用するための正しい構文は次のとおりです。

Jobject.Parse(jsonStringName);

コード例:

using System;
using Newtonsoft.Json.Linq;

 
namespace JSONParsing
{
    public class Parsing
    {
        public static void Main(string[] args)
        {
            string jsonString = @"{  
            'FirstName':'Olivia',  
            'LastName':'Mason'  
        }";  
        //Use of the method
        var Name = JObject.Parse(jsonString);  
        Console.WriteLine(string.Concat("The First Name and Last Name is: ", Name["FirstName"], " " + Name["LastName"], ".")); 
        }  

    }
}
    

出力:

The First Name and Last Name is: Olivia Mason.

JObject.Parse() メソッドは、try-catch ブロックを使用して処理できる例外をスローします。

JavaScriptSerializer().Deserialize() メソッドを使用して JSON 文字列を解析する C# プログラム

このメソッドは、.NET の新しいバージョンで実装できます。以前のバージョンでは、上記の 2つの方法が最適です。このメソッドは、JSON 文字列を C# オブジェクトに変換するために使用されます。

このメソッドを使用するための正しい構文は次のとおりです。

JavaScriptSerializer().Deserialize<CustomClassName>(jsonString); 

コード例:

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

class Parsing
{
    static void Main()
    {
        var json = @"{""name"":""Olivia Mason"",""age"":19}";
        var ObjectName = new JavaScriptSerializer().Deserialize<MyInfo>(json);
        Console.WriteLine("The name is:",ObjectName.name, ".");
    }
}

class MyInfo
{
    public string name { get; set; }
    public int age { get; set; }
}  

出力:

The name is: Olivia Mason.

関連記事 - Csharp JSON

  • C# オブジェクトを JSON 文字列に変換する
  • comments powered by Disqus