我正在从asp.net webapi获取数据并将其存储为
var token = string.Empty;
var result = resMessage.Content.ReadAsStringAsync().Result;
token = JsonConvert.DeserializeObject<string>(result);
结果值
{
value: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6ImFkbWluIiwibmJmIjoxNjMzODY1NzE0LCJleHAiOjE2MzM4Njc1MTQsImlhdCI6MTYzMzg2NTcxNH0.2Vje7sXWw4tb_h50cR3zdI5TDIjOiWR-94_i2mH40cg",
formatters: [ ],
contentTypes: [ ],
declaredType: null,
statusCode: 200
}
我得到的错误
JsonReaderException: Unexpected character encountered while parsing value: {. Path '', line 1, position 1.
token = JsonConvert.DeserializeObject<string>(result);
我不明白发生了什么事。我在asp.net MVC项目中编写了这个代码
您正在尝试将string
反序列化为string
,这将不起作用,因为它们是完全相同的类型。
您需要将string result
反序列化为JsonConvert.DeserializeObject
应该知道的具体类型,以便将其反序列化。
这个应该可以工作:
public class Data
{
public string value { get; set; }
public List<object> formatters { get; set; }
public List<object> contentTypes { get; set; }
public object declaredType { get; set; }
public int statusCode { get; set; }
}
Data token = JsonConvert.DeserializeObject<Data>(result);