我正在使用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”时,我知道如何反序列化对象,但是我的问题是:如何反序列化字符串数组?
答案 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; }
}