Json.net(Newtonsoft.json)を使用して、下のjsonを処理するC#クラス(またはクラス)をどのように定義できますか?JSONからC#へ - jsonのサブフィールド名のないフィールドをリストしますか?
'data'フィールドは、レベル/説明サブフィールドのリストとして表示されますが、ではなく、の前にフィールド名が付いています。
「エラー」フィールドはエラー番号/エラーメッセージのサブフィールドのリストのようですが、ではなく、フィールド名の前にが付いています。
{
"status": "error",
"data": [
{
"warning" : "your input was wrong"
}
],
"error": [
{
"373": "Error description goes here"
}
]
}
このクラス定義は解析エラーを生成しません。しかし、データとエラーの内容は正しくありません。
public class ApiResponse
{
[JsonProperty(PropertyName = "status")]
public string Status;
[JsonProperty(PropertyName = "data")]
public IEnumerable<KeyValuePair<string, string>> Data;
[JsonProperty(PropertyName = "error")]
public IEnumerable<KeyValuePair<int, string>> Errors;
};
// this doesn't throw a parsing exception, but the resulting
// Data and Errors fields are not correctly populated.
var x = JsonConvert.DeserializeObject<ApiResponse>(SampleJson);
ご協力いただきありがとうございます。
これはあなたを助けるかもしれない:http://stackoverflow.com/questions/27744199/converting-array-to-ienumerablet –