ホームページ >バックエンド開発 >C#.Net チュートリアル >C# の JSON パーサー
JSON (JavaScript Object Notation) 解析は言語に依存せず、軽量のデータ交換形式で、自己記述型で理解しやすいです。 JSON パーサーは XML の代替手段です。これはオブジェクトを構造テキスト形式で表し、データはキーと値のペアで保存されます。 JSON ファイル名の拡張子は .json です。 JSON クラスを使用すると、オブジェクトを JSON テキストにシリアル化したり、JSON テキストをオブジェクトに逆シリアル化したりできます。 UTF-8 のサポートが組み込まれています。
構文:
次のような JSON (JavaScript Object Notation) の構文を見てみましょう。
Jobject.Parse(jsonStringName);
JsonConvert.DeserilizeObject<CustomClassName>(JsonStringName);
JavaScriptSerializer(). Deserialize<CustomClassName>(jsonString);
JSON (JavaScript Object Notation) は軽量のデータ交換形式であり、人間による書き込みと読み取りが簡単で、マシンによって解析および生成されます。これにより、高いパフォーマンスが得られ、メモリ領域の割り当てが少なくなります。 JSON 文字列形式でクライアント側からサーバー側にデータを提供するためのサードパーティ コントロールが多数あり、データにアクセスするには、JSON 文字列を適切なオブジェクトにキャストすることが不可欠です。Kendo UI グリッドなどのサードパーティ コントロールは、等々。これには、UTF-8 のサポートが組み込まれています。
Jobject.Parse() メソッドはオブジェクト クラスのメソッドであり、このメソッドは JSON 文字列を C# のオブジェクトに解析するために使用されます。キー値に基づいて文字列のデータを解析し、キー値を使用してデータを取得します。以下の JSON 解析形式と作業フローを見てみましょう。
{ string jsonString = @"{ 'user_FirstName':'Peter', 'user_LastName':'Paul' }"; By using the JSON parsing method we can convert and retrieve as follows, var getResult = JObject.Parse(jsonString);
このようにして、データを取得できます。
JSON 文字列を解析するもう 1 つの方法は、JsonConvert クラスに属する JsonConvert.DeserializeObject() を使用する方法です。JsonConvert.DeserializeObject() というメソッドは、JSON 文字列を C# オブジェクトに変換します。 JSON 文字列によってこれらのオブジェクトが作成されます。このメソッドで使用される形式は次のとおりです。
JsonConvert.DeserilizeObject<CustomClassName>(JsonStringName);
属性 First_Name と Last_Name を持つ UserDetails というクラスを作成し、以下に示す JSON 形式でデータを入力し、この関数の結果を受け取ります。
var get_jsonString = @"{'First_Name': 'Peter', 'Last_Name': 'Paul'}";
この方法でデータを変換するには、次のようにします。
var result = JsonConvert.DeserializeObject < UserDetails > (get_jsonString);
JavaScriptSerialize() を使用して JSON 文字列を解析するには。 De-serialize () メソッドは、.NET の新しいバージョンにのみ適用されます。この方法は以前のバージョンには適用されません。そのために、最初の 2 つのメソッドを使用して JSON 文字列を C# オブジェクトに変換できます。このメソッドで使用される形式は次のとおりです。
JavaScriptSerializer().Deserialize<CustomClassName>(jsonString); To create the class with UserDetails as follows, class UserDetails { public string userName { get; set; } public int userAge { get; set; } }
JSON から C# オブジェクトへの変換のためにユーザーの詳細を次のように入力するには、
var input_json = @"{""name"":""Peter Paul"",""age"":49}";
次のように、serializer() メソッドを使用して json を C# オブジェクトに変換するには、
var resultObject = new JavaScriptSerializer().Deserialize<UserDetails>(input_json);
.NET Framework は、DataContractJsonSerializer で使用するクラスを使用して、逆シリアル化および JSON へのシリアル化を行うクラスをサポートしています。以下のコードを使用すると、JSON オブジェクトを逆シリアル化できます。このメソッドを使用するには、次のようないくつかの手順を実行する必要があります。
アプリケーションには System.Runtime.Serialization ライブラリの参照が必要です。
クラス全体に DataContract が必要で、属性には DataMember 属性が必要です。
[DataContract] public class USerDetails { [DataMember] public string First_Name { get; set; } [DataMember] public string Last_Name { get; set; } }
string get_json = "{ \"First_Name\":\"Smith\",\"LastName\":\"Rio\" }";
DataContractJsonSerializerjsonSerializer = newDataContractJsonSerializer(typeof(USerDetails));
Json.NET は作業環境に最適なフレームワークです。ネット。 JSON には次のような多くの利点と機能があります。
Jobject.Parse() メソッドはオブジェクト クラスのメソッドであり、このメソッドは JSON 文字列を C# のオブジェクトに解析するために使用されます。キー値に基づいて文字列のデータを解析し、キー値を使用してデータを取得します。以下の JSON 解析実装を見てみましょう。
using System; using Newtonsoft.Json.Linq; namespace JSONParsing { public class Parsing { public static void Main(string[] args) { string jsonString = @"{ 'user_FirstName':'Peter', 'user_LastName':'Paul' }"; //Using the JSON-parse method here var getResult = JObject.Parse(jsonString); Console.WriteLine("\n\tUsing JSON-Parse Method"); Console.WriteLine(string.Concat("\n\tDisplaying User First and Last Name: ", getResult["user_FirstName"], " " + getResult["user_LastName"], ".")); } } }
出力:
To parse the JSON String using JsonConvert.DeserializeObject(), which belongs to the JsonConvert class, the method called JsonConvert.DeserializeObject() converts the JSON string to the C# object. The JSON string creates those objects.
using System; using Newtonsoft.Json; namespace JSONParse_Program { public class UserDetails { public string First_Name { get; set; } public string Last_Name { get; set; } } public class Parsing { public static void Main(string[] args) { var get_jsonString = @"{'First_Name': 'Peter', 'Last_Name': 'Paul'}"; //Use of the method var result = JsonConvert.DeserializeObject < UserDetails > (get_jsonString); Console.WriteLine("JSON-Parse Method\n"); Console.WriteLine(string.Concat("\nDisplaying First and Last Name, ", result.First_Name, " " + result.Last_Name, ".")); } } }
Output:
In this article, I have explained the usage of JSON parser; for example, by using those methods, we can parse the JSON in the C# program and extract values.
以上がC# の JSON パーサーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。