接收以下从SFDC REST Web服务(字符串jsonResponse下面)回应:反序列化SFDC REST服务JSON resopnse
{
"responseDataList": [{
"salesforceRecordId": "a00C000000L5DQRIA3",
"recordName": "Computer_Name_2",
"IsSuccess": true,
"errorMessage": null
}]
}
试图与ServiceStack.JsonSerializer到反序列化:
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string jsonResponse = new StreamReader(response.GetResponseStream()).ReadToEnd();
ResponseDataList list = JsonSerializer.DeserializeFromString<ResponseDataList>(jsonResponse);
ResponseDataList有以下结构:
public class ResponseData
{
public string salesforceRecordId { get; set; }
public string recordName { get; set; }
public bool IsSuccess { get; set; }
public string errorMessage { get; set; }
}
public class ResponseDataList
{
List<ResponseData> responseDataList { get; set; }
}
然而,反序列化ResponseDataList列表为空。我做错了什么,如何正确反序列化?
儿童拼错,谢谢。不过,我在这里得到了错误:类型定义应该以'{'开头,期望序列化类型'ResponseDataList',得到的字符串以“{\”responseDataList \“:[{\”salesforceRecordId \“:\”开头。这里有什么问题? –
嗯...似乎反应包含明确的双引号,转义字符等奇怪的,如何克服这一点? –
如果服务器正在返回转义字符串,请使用序列化程序来避开它JsonSerializer.DeserializeFromString(jsonResponse); –