-
必要なライブラリのインポート:
using Newtonsoft.Json; using System.Data;
-
JSONデータをオブジェクトに変換する:
string jsonData = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}"; dynamic obj = JsonConvert.DeserializeObject(jsonData);
-
動的なDataTableを作成する:
DataTable dataTable = new DataTable();
-
オブジェクトのプロパティをカラムとしてDataTableに追加する:
foreach (var property in obj.GetType().GetProperties()) { dataTable.Columns.Add(property.Name, property.PropertyType); }
-
オブジェクトの値を行としてDataTableに追加する:
DataRow row = dataTable.NewRow(); foreach (var property in obj.GetType().GetProperties()) { row[property.Name] = property.GetValue(obj); } dataTable.Rows.Add(row);
これで、JSONデータを動的なDataTableに変換することができます。必要に応じて、JSONデータが配列である場合の処理や、複数のオブジェクトをDataTableに追加する方法など、さまざまな方法を実装することもできます。