我仍然不完全確定究竟在問什麼,所以如果這是不適當的道歉構思。我發現的其他問題與已經在JSON中接收對象數組的人有關。反序列化JSON對象到數組或列表
我的JSON字符串作爲一個對象從第三方返回時,我只處理過它返回爲一個數組,它很容易轉換爲過去的對象。
var success = JsonConvert.DeserializeObject<RootObjectClass>(result); gives me a `Cannot deserialize the current JSON object (e.g. {\"name\":\"value\"}) into type 'System.Collections.Generic.List`
我應該將它轉換爲一個數組,如果又如何,因爲對象是單獨命名一樣的財產「CONTACT_ID」的價值?
否則,有人能指出我如何從這個JSON獲取聯繫人列表的最佳實踐的正確方向。
JSON結構如下所示。
{
"status": true,
"error_code": "",
"error_message": "",
"data": {
"693": { // Contact obj, always the same as contact_id
"contact_id": "693",
// removed lots of properties for brevity
"real_name": "Mike Hunt",
"telephone": "01280845867",
"email": "[email protected]"
},
"767": {
"contact_id": "767",
"real_name": "Peter File",
"telephone": "02580845866",
"email": "[email protected]"
}
}
}
類結構
[Serializable()]
[DataContract]
public class RootObjectClass
{
[DataMember()]
public bool status { get; set; }
[DataMember()]
public string error_code { get; set; }
[DataMember()]
public string error_message { get; set; }
[DataMember()]
public DataClass data { get; set; }
}
[Serializable()]
[DataContract]
public class DataClass
{
[DataMember]
public Contact contact { get; set; }
}
反序列化'動態'數據類型。然後,你可以很容易地訪問它的屬性 –
好吧,謝謝,將看看 – PurpleSmurph
你不需要'RootObjectClass'中的'DataClass'數組嗎? – Richard