C# JsonConvert未正确反序列化对象
我有一个简单的json和类,我想反序列化对象到对象C# JsonConvert未正确反序列化对象,c#,C#,我有一个简单的json和类,我想反序列化对象到对象 {"UnsubscribeResponse": { "txId": "123", "result": "Success", "message": "OK" }} public class UnsubscribeResponse { public string TxId { get; set; } public string Result { get; set; } public string M
{"UnsubscribeResponse": {
"txId": "123",
"result": "Success",
"message": "OK"
}}
public class UnsubscribeResponse
{
public string TxId { get; set; }
public string Result { get; set; }
public string Message { get; set; }
}
我刚刚尝试使用以下方法,但其中任何一种都适合我
unsubscribeResponse = await response.Content.ReadAsAsync<UnsubscribeResponse>();
unsubscribeResponse = JsonConvert.DeserializeObject<UnsubscribeResponse>(contents, new JsonSerializerSettings()
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
ObjectCreationHandling = ObjectCreationHandling.Auto
});
任何人都有此问题,可以帮助我吗?添加一个新类:
public class UnsubscribeResponsewrapper
{
public UnsubscribeResponse UnsubscribeResponse { get; set; }
}
然后使用unsubscriberessponsewrapper
代替读取/反序列化为unsubscriberessponse
。这是必要的,因为您的JSON是:
{"UnsubscribeResponse": {
"txId": "123",
"result": "Success",
"message": "OK"
}}
要使原始代码正常工作,JSON需要类似于:
{
"txId": "123",
"result": "Success",
"message": "OK"
}
您需要额外的类,因为JSON具有unsubscriberess
属性。我怀疑您正在查看JSON并认为这是一个unsubscriberessponse
对象及其属性但这实际上不是JSON。这是一个对象,具有unsubscriberess
属性(该属性有一组自己的属性)。因此,您需要更改JSON(根据我更改的JSON)或更改代码(根据我的类)。添加一个新类:
public class UnsubscribeResponsewrapper
{
public UnsubscribeResponse UnsubscribeResponse { get; set; }
}
然后使用unsubscriberessponsewrapper
代替读取/反序列化为unsubscriberessponse
。这是必要的,因为您的JSON是:
{"UnsubscribeResponse": {
"txId": "123",
"result": "Success",
"message": "OK"
}}
要使原始代码正常工作,JSON需要类似于:
{
"txId": "123",
"result": "Success",
"message": "OK"
}
您需要额外的类,因为JSON具有unsubscriberess
属性。我怀疑您正在查看JSON并认为这是一个unsubscriberessponse
对象及其属性但这实际上不是JSON。这是一个对象,具有unsubscriberess
属性(该属性有一组自己的属性)。因此,您需要更改JSON(根据我更改的JSON)或更改代码(根据我的类)