无法使用 RestSharp C# 反序列化 RestResponse
Cannot deserialize RestResponse with RestSharp C#
我正在尝试将 JSON 反序列化为 C# 对象,但无法消除此编译器错误。任何帮助将不胜感激。
JSON
{
AX:{BX:1777}
}
这是我的解串器 classes:
Response.cs
{
public class Response
{
public AX Ax { get; set; }
}
}
AX.cs
{
public class AX
{
public long Bx { get; set; }
}
}
这是有问题的行:
IRestResponse<Response> response = client.Execute<Response>(request);
response.Content 和 returns 原始 JSON 一样好,但我希望它成为响应 class 的一个实例。我想像这样访问 Bx:
var price = response.Ax.Bx; // should return 1777
但是这一行会产生以下编译器错误:
Error: IRestResponse does not contain definition for 'Ax'
问题是区分大小写。 RestSharp 序列化程序期望遵循 json 结构
{
Ax:{Bx:1777}
}
你有3种应对方式:
1) 将 DataContract 和 DataMember 添加到您的 类
[DataContract]
public class Response
{
[DataMember(Name = "AX")]
public AX Ax { get; set; }
}
[DataContract]
public class AX
{
[DataMember(Name = "BX")]
public long Bx { get; set; }
}
2) 编写您自己的忽略大小写的序列化程序并将其与 restsharp 一起使用
3) 更改您的 json 结构
我正在尝试将 JSON 反序列化为 C# 对象,但无法消除此编译器错误。任何帮助将不胜感激。
JSON
{
AX:{BX:1777}
}
这是我的解串器 classes:
Response.cs
{
public class Response
{
public AX Ax { get; set; }
}
}
AX.cs
{
public class AX
{
public long Bx { get; set; }
}
}
这是有问题的行:
IRestResponse<Response> response = client.Execute<Response>(request);
response.Content 和 returns 原始 JSON 一样好,但我希望它成为响应 class 的一个实例。我想像这样访问 Bx:
var price = response.Ax.Bx; // should return 1777
但是这一行会产生以下编译器错误:
Error: IRestResponse does not contain definition for 'Ax'
问题是区分大小写。 RestSharp 序列化程序期望遵循 json 结构
{
Ax:{Bx:1777}
}
你有3种应对方式:
1) 将 DataContract 和 DataMember 添加到您的 类
[DataContract]
public class Response
{
[DataMember(Name = "AX")]
public AX Ax { get; set; }
}
[DataContract]
public class AX
{
[DataMember(Name = "BX")]
public long Bx { get; set; }
}
2) 编写您自己的忽略大小写的序列化程序并将其与 restsharp 一起使用
3) 更改您的 json 结构