I以下のJSONデータがあります。C#Deserialising JSONデータ配列
{"status": "ok",
"data": [
{"ts": "2016-12-12 02:00:00", "temp": 29.6},
{"ts": "2016-12-12 02:30:00", "temp": 29.4},
]}
しかし列を:列/フィールド名が含まれるであろう
{"status": "ok",
"data": [
{"2016-12-12 02:00:00": 29.6},
{"2016-12-12 02:30:00": 29.4},
{"2016-12-12 03:00:00": 28.9},
...... many more records
]}
で、理想の世界では、データを名前がありません。私は、次のクラス構造にデータを取得する方法を知っていただきたいと思います:
#region JSON Class
public class telemetryData
{
public string ts { get; set; }
public double temp { get; set; }
}
public class RootObject
{
public string status { get; set; }
public List<telemetryData> data { get; set; }
}
#endregion
私が使用してデータをdeserialisingています次:このコードは、SQL Server 2008 R2で使用されている
JavaScriptSerializer sr = new JavaScriptSerializer();
jsonResponse = sr.Deserialize<RootObject>(jsonString);
foreach (var item in jsonResponse.data)
{
OutputMoistureBuffer.AddRow();
OutputMoistureBuffer.ts = item.ts;
OutputMoistureBuffer.temp = item.temp;
}
VS2008 C#を使用したSSISパッケージ私は 'ステップスルー'することができず、スクリプトコンポーネントのコードをデバッグすることができません。なぜ私はそれを動作させることができないのかについての正確なエラーメッセージを得ることができません。
私のJSONクラスの正しい書式設定についての助言をいただければ幸いです。
あなたの助けセルゲイのおかげで、しかし、Iコードbuidsしばらくは、私は新しいエラーを取得する:Microsoft.SqlServer.Dts.Pipeline.CannotCreateUserComponentException:データフロータスク[スクリプトコンポーネント[184]]でパッケージの検証エラー エラーユーザーコンポーネントクラスを作成できません。 SSISScriptComponentEntryPointAttributeでマークされたクラスがスクリプトに存在することを確認してください。 データフロータスク[SSIS.Pipeline]でエラー: "コンポーネント"スクリプトコンポーネント "(184)"が検証に失敗し、検証ステータス "VS_ISBROKEN"が返されました。このエラーは、Newtonsoft.Json.DLLを参照した後にのみ発生します。私はそれを削除する場合、それは動作します。 – Lorettac242
このエラーは、Newtonsoft.Json.Dllとそれに対応するコードをインストールして参照した後にのみ発生し始めました。私がそれを削除すると、コードが再び実行されます(たとえそれが私に必要なデータを与えていなくても)。このコードは、Visual Studioの後のバージョンでも完全に機能します。 – Lorettac242