C# 複雜情況下json的一種解析方法
阿新 • • 發佈:2019-02-08
得到某簡訊服務商返回的資訊:
"{\"code\":\"SUCCESS\",\"data\":[{\"smsId\":\"1540706661367xx100\",\"mobile\":\"1560xxxx82\",\"customSmsId\":null}]}"
data看來是個集合。
構造如下類;
public class C_SmsRespon { public string code; public List<C_Data> data; } public class C_Data { public string smsId; public string mobile; public string customSmsId; }
傳送簡訊返回:
報錯:無法將型別為“Newtonsoft.Json.Linq.JObject”的物件強制轉換為型別“WINAPP_SMS.C_SmsRespon”
string ret = string.Empty; 。。。。。。 StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.Default); ret = sr.ReadToEnd(); C_SmsRespon smsrespon = (C_SmsRespon)JsonConvert.DeserializeObject(ret); //C_SmsRespon //這句報 無法將型別為“Newtonsoft.Json.Linq.JObject”的物件強制轉換為型別“WINAPP_SMS.C_SmsRespon”。
用以下兩個方法中的任意一個都可以,
C_SmsRespon smsrespon = (C_SmsRespon)JsonConvert.DeserializeObject(ret, typeof(C_SmsRespon)); //C_SmsRespon ok!
C_SmsRespon smsrespon = (C_SmsRespon)JsonConvert.DeserializeObject<C_SmsRespon>(ret); //C_SmsRespon ok