概要
Newtonsoft.Jsonについて学習する機会があり、学習の結果をまとめた記事です。
ツールはUiPathを使用するので一部uipathのことも記載しています。
Newtonsoft.Jsonとは?
Newtonsoft.Jsonは、JSONデータのシリアル化やデシリアル化を行うための.NET用のライブラリである。
JSONとは
JSON(JavaScript Object Notation)は、データのやり取りに広く使用されている軽量なデータ形式であり、Newtonsoft.Jsonは.NETプロジェクトでのJSON処理をサポートします。
特にシステム間のやり取り(APIのレスポンスなど)で使用されている。
【使用例】
*APIとのデータ通信
*設定ファイルの読み書き
*データベースとのデータのやり取り
csvとJsonのデータ表現の違い
#csvの場合
カンマ区切りで表現される
id, 店舗名
1,吉野家
2,すき家
3,松屋
#JSON
keyとvalueがセットで表現される
データとデータの間にはカンマ','が必要となる
データの始まりと終わりに'{}'が使用される
複数行のデータを記載するとき配列'[]'を表現する
[
{"id" : "1", "店舗名" : "吉野家" }
{"id" : "2", "店舗名" : "すき家" }
{"id" : "3", "店舗名" : "松屋" }
]
Newtonsoft.jsonの特徴
柔軟性
Newtonsoft.Jsonは、様々な.NETオブジェクトをJSONにシリアル化や、逆にJSONを.NETオブジェクトにデシリアル化(逆シリアル化)することができます。この柔軟性により、複雑なデータ構造の取り扱いに優れている。
メソッド
メソッド名 | 説明 | UiPathアクティビティ |
---|---|---|
JsonConvert.SerializeObject | オブジェクトをJSON文字列にシリアル化する。 | - |
JsonConvert.DeserializeObject | JSON文字列を.NETオブジェクトにデシリアル化する。 | JSONを逆シリアル化(UiPath.WebAPI.Activities.DeserializeJson) |
JsonConvert.SerializeXmlNode | XMLノードをJSON文字列にシリアル化する。 | - |
sonConvert.DeserializeXmlNode | JSON文字列をXMLノードにデシリアル化する。 | - |
UiPathのアクティビティ:JSONを逆シリアル化
オブジェクト
LINQtoJSON
LINQ to JSONは、JSONオブジェクトを扱うためのAPIです。LINQ(Language Integrated Query)を念頭に設計されており、JSONオブジェクトのクエリと作成を可能にする。
JSONオブジェクトを表すクラス
・JObject
プロパティとして、keyとvalueを持ちます。
参照:JObjectクラス