RestSharp:无法反序列化数组

时间:2019-03-05 00:51:32

标签: c# deserialization restsharp

我正在使用RestSharp。我有以下代码:

public void MyMethod()
{
       var client = new RestClient("https://test_site/api");
       var request = new RestRequest("/endpoint", Method.GET);

       var response = client.Execute<List<MyMapClass>>(request);
}

我的问题是,在我所看到的所有示例中,JSON的形式均为“属性”:“值”。

但是,就我而言,我只有一个字符串数组:

[
  "Str1",
  "Str2",
  "Str3"
]

因此,当JSON格式为“ property”:“ value”时,我知道如何反序列化对象,但是我的问题是:如何反序列化字符串数组?

1 个答案:

答案 0 :(得分:1)

请注意方括号而不是大括号。大括号表示对象,方括号表示数组。

var response = client.Execute<List<string>>(request);

var response = client.Execute<string[]>(request);

您还可以在对象中拥有一个数组(请参见颜色)

{
    "name": "iPhone 7 Plus",
    "manufacturer": "Apple",
    "deviceType": "smartphone_tablet",
    "searchKey": "apple_iphone_7_plus",
    "colors": ["red", "blue"]
}

和相应的模型如下所示:

public class MyMapClass 
{
    public string Name { get; set; }
    public string Manufacturer { get; set; }
    public string DeviceType { get; set; }
    public string SearchKey { get; set; }
    public List<string> Colors { get; set; }
}