我有此JSON結構:如何管理同一類中的兩種類型的json?
public class Trace
{
public TraceValue trace;
}
public class TraceValue
{
public Details details;
public Context context;
}
public class Details
{
public String date;
public String type;
public String message;
}
public class Context
{
public List<List<IdItem>> context;
}
public class IdItem
{
public String ID;
}
反序列化的一個示例::
var response = "json above";
var obj = JsonConvert.DeserializeObject<List<Trace>>(response);
現在的問題是,有時
[{"trace":{"details":{"date":"[28-02-2016 11:04:26.856573]","type":"[info]","message":"[system done.]"},"context":{"context":[[{"ID":"john dillinger"}]]}}},{"trace":{"details":{"date":"[28-02-2016 11:04:26.856728]","type":"[info]","message":"[trace done.]"},"context":{"context":[[{"ID":"john dillinger"}]]}}}]
我可以用這個類正確地反序列化json以此結構返回:
{
"success": false,
"message": "No content."
}
我的代碼出錯了,因爲結構不同。我試圖讀取標題,但返回爲200'導致沒有錯誤happean。那麼如何才能識別不同的結構並避免json異常呢?這是管理不同的JSON結構類:
public class RootObject
{
public bool success { get; set; }
public string message { get; set; }
}
我能在異常做到這一點,但是這是不是一個好的做法,還有另一種方式?
是否標準的消息包括:'「成功」:TRUE'? – LegionMammal978
該消息僅在第二種情況下返回,如果有內容我得到完整的堆棧「跟蹤」,我也會得到'success:false'和相關的'消息' – Dillinger
在這種情況下,沒有理由在那裏甚至是'成功'參數,如果它總是存在'假'的話。你有任何控制輸入? – LegionMammal978