我正在使用 WebApi 返回一个 Json 字符串,'返回的字符串在下面的代码中被注释'
private async void setDataContext()
{
var str = (await HttpVerbs.HttpGet("commandelist/1"));
//"[{\"Num\":\"10\",\"NomRestau\":\"Woodpecker\",\"Date\":\"11/23/2013 6:02:00 PM\",\"Total\":\"200\",\"Etat\":\"False\"},{\"Num\":\"9\",\"NomRestau\":\"Woodpecker\",\"Date\":\"11/23/2013 6:02:00 PM\",\"Total\":\"200\",\"Etat\":\"False\"},{\"Num\":\"8\",\"NomRestau\":\"Woodpecker\",\"Date\":\"11/23/2013 6:02:00 PM\",\"Total\":\"200\",\"Etat\":\"False\"}]";
cmdList = (ObservableCollection<CommandeList>)JsonConvert.DeserializeObject(str, typeof(ObservableCollection<CommandeList>));
Listu.DataContext = cmdList;
}
这里是 HttpVerbs 类
public class HttpVerbs
{
public static async Task<string> HttpGet(string url)
{
var httpClient = new HttpClient();
return (await httpClient.GetStringAsync("http://{myWebSite}/api/" + url));
}
}
- 如果我直接将注释的 Json 字符串分配给“str”(变量)一切正常!但是,如果我尝试从我的 webApi 获取它(就像我在这段代码中所做的那样),则会引发异常
{Newtonsoft.Json.JsonSerializationException:错误转换值“[{“Num”:“10”,“NomRestau”:“Woodpecker”,“日期”:“2013 年 11 月 23 日下午 6:02:00”,“总计” :"200","Etat":"False"},{"Num":"9","NomRestau":"啄木鸟","Date":"2013 年 11 月 23 日下午 6:02:00"," Total":"200","Etat":"False"},{"Num":"8","NomRestau":"Woodpecker","Date":"11/23/2013 6:02:00 PM" ,"Total":"200","Etat":"False"}]" 输入 'System.Collections.ObjectModel.ObservableCollection`1[RestO.Models.CommandeList]'。路径 '',第 1 行,位置 355。
备注:我的字符串包含 355 个字符。
我用这个作为模型“”
public class CommandeList
{
public string Num { get; set; }
public string NomRestau { get; set; }
public string Date { get; set; }
public string Total { get; set; }
public string Etat { get; set; }
}