私は、サードパーティから次のようなJSON文字列を受け取る:は、C#でJSON文字列をデシリアライズすることはできません
public class testCh
{
public int i { get; set; }
public string m { get; set; }
public object u { get; set; }
public int d { get; set; }
public double z { get; set; }
public string yi { get; set; }
public string ya { get; set; }
public int a { get; set; }
[JsonIgnore]
public int s { get; set; }
[JsonIgnore]
public string data { get; set; }
}
public class testRootObject
{
public List<testCh> tCh { get; set; }
}
そして最後に、私は私のメインでこれを試してみてください。
{
"Ch": [{
"i": 100,
"m": "Time",
"u": "(sec)",
"d": 0,
"z": 0.345313,
"yi": "0.000000",
"ya": "6.906250",
"a": 0,
"s": 1664,
"data": "RN]]>"
}, {
"i": 101,
"m": "Stress",
"u": "(kPa)",
"d": 0,
"z": 60,
"yi": "0.000000",
"ya": "1200.000000",
"a": 0
}, {
"i": 102,
"m": "Strain",
"u": "(micro e)",
"d": 0,
"z": 8,
"yi": "200.000000",
"ya": "360.000000",
"a": 0
}, {
"i": 103,
"m": "Stress",
"u": 360,
"d": 0,
"z": 0,
"yi": "0.000000",
"ya": "0.000000",
"a": 0,
"s": 1664,
"data": "QVORR`Pb_UQRR</code>OObTNRRUTaWRVRRSaPQPdRRaPNSORRR]]>"
}, {
"i": 104,
"m": "Strain",
"u": 360,
"d": 0,
"z": 0,
"y": 0,
"yi": "0.000000",
"ya": "0.000000",
"a": 1,
"s": 1664,
"data": "SVdRQSP_VWQRQa]]>"
}]
}
は、私は次のクラスを使用しますクラス:
var response1 = JsonConvert.DeserializeObject<testRootObject>(content1);
foreach (testCh tc in response1.tCh)
{
string name = tc.m;
}
私は空testRootObject []
を得ますか私は私のtestCHクラスの「A」と「データ」を無視しようとしました:
[JsonIgnore]
public int s { get; set; }
[JsonIgnore]
public string data { get; set; }
、それは動作しませんでした。
なぜ私はそれを逆シリアル化できないのか分かりません。それは愚かなものでなければなりませんが、カップルの日の後に私はそれを見ることができません。
ご迷惑をおかけして申し訳ございません。
してください、あなたのJSONをフォーマットします。 –
'testRootObject'クラスの' tCh'プロパティの名前を 'Ch'に変更してみてください。 –
オブジェクトの同じ名前を試してください... c#クラスとjsonで。それは一致する名前を探すためです。 –