RESTSharp:从反序列化类访问值

时间:2014-03-04 14:22:15

标签: c# asp.net .net json restsharp

我正在使用RESTSharp来接收和反序列化API调用的结果。响应是JSON。我为repsonse创建了一个类,如下所示:

public class JsonResponseClass
{
    public class Selector
    {
        public static string verb { get; set; }
    }

    public class Points
    {
        public int definition { get; set; }
    }
 }

我按照以下方式获得回复:

var response = client.Execute<JsonResponseClass>(request);
var resData = response.Data;

如何阅读/打印从上面收到的值?例如,如何从上面的反序列化响应中打印值动词和定义?

2 个答案:

答案 0 :(得分:2)

你不应该嵌套这些课程。而是将每种类型的属性添加到根对象的类中。

public class JsonResponseClass
{
    public Selector selector { get; set; }

    public Points points { get; set; }
}

public class Selector
{
    public static string verb { get; set; }
}

public class Points
{
    public int definition { get; set; }
}

有了这个,代码按预期工作:

var response = client.Execute<JsonResponseClass>(request);
var resData = response.Data;
var verb = resData.selector.verb;
var definition = resData.points.definition;

答案 1 :(得分:0)

目前尚不清楚你在问什么。

resData变量包含JsonResponseClass中存储的请求数据,因此您需要访问以下字段:

string verb = resData.verb;
Console.WriteLine(verb);