读取WebApi的返回值,转换成实体类报错,不知道哪里写错了
WebApi服务器端代码:
public class TestController : ApiController
{
// GET api/values
public string Get()
{
Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };
return JsonConvert.SerializeObject(product);
}
//实体类
public class Product
{
public string Name { get; set; }
public DateTime Expiry;
public string[] Sizes;
}
}
本地客户端代码:
class Program
{
static void Main(string[] args)
{
Invoke();
Console.Read();
}
private static async void Invoke()
{
HttpClient client = new HttpClient();
var json = await client.GetStringAsync("http://localhost/WebServerApi/WebApi/api/Test");
var o = JsonConvert.DeserializeObject<Product>(json);//这里报错
Console.WriteLine(o.Name);
}
}
//实体类
public class Product
{
public string Name { get; set; }
public DateTime Expiry;
public string[] Sizes;
}
报错信息:
调用后返回的json字符串(为啥返回的是有引号和转意字符的):
"{\"Expiry\":\"2008-12-28T00:00:00\",\"Sizes\":[\"Small\"],\"Name\":\"Apple\"}"
正常的json字符串:
{"Expiry":"2008-12-28T00:00:00","Sizes":["Small"],"Name":"Apple"}
到底哪里弄错了,新手求助!!