我以前只是从以下Json响应中填充EmployeeId的列表:
{\r\n \"EmployeeId\": [\r\n 201812345,\r\n 201812346,\r\n 201812347, \r\n}
加入我的收藏夹
var resultSet = await response.Content.ReadAsAsync<EmployeeIds>();
但是最近服务器响应已更改为:
{
"httpStatus": 200,
"queryID": "getIds",
"statustext": [
"ResultCode: OK"
],
"rowsReturned": 228,
"dataset": "[\r\n {\r\n \"EmployeeId\": 20181234\r\n }, \r\n {\r\n
\"EmployeeId\": 20181234\r\n },\r\n {\r\n \"EmployeeId\": 20181234\r\n
}\r\n]"
}
我现在无法从此Json提取EmployeeId值。我尝试通过以下方式反序列化响应:
var jsonresult=await response.Content.ReadAsStringAsync();
var deserializedjsonobject = JObject.Parse(jsonResult);
var Ids= deserializedjsonobject["dataset"]
但id的值结果始终为:
"[\r\n {\r\n \"EmployeeId\": 20181234\r\n }, \r\n {\r\n \"EmployeeId\": 20181234\r\n },\r\n {\r\n \"EmployeeId\": 20181234\r\n }\r\n]
谢谢
答案 0 :(得分:0)
dataset
是序列化的json字符串。反序列化外部对象后,需要对此反序列化。
var jsonresult = await response.Content.ReadAsStringAsync();
var deserializedjsonobject = JObject.Parse(jsonResult);
var Ids = JArray.Parse(deserializedjsonobject["dataset"]);
答案 1 :(得分:0)
感谢大家的投入。我没有注意的问题是数据集“:” [XXXXX]“用双引号引起来,因此以字符串形式返回。我联系了提供者,他们解决了问题