C# 解析 JSON
-
JsonConvert.DeserializeObject()
メソッドを使用してJSON string
を解析する C# プログラム -
JObject.Parse()
メソッドを使用してJSON
文字列を解析する C# プログラム -
JavaScriptSerializer().Deserialize()
メソッドを使用してJSON
文字列を解析する C# プログラム
![C# 解析 JSON](/img/Csharp/feature-image---How-to-parse-JSON-in-Csharp.webp)
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.