得到某短信服务商返回的信息:
"{\"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
https://www.newtonsoft.com/json/help/html/SerializingJSON.htm