我以前只是从以下JSON响应填充EmployeeIds列表:
{\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的提取雇员值。我试图通过反序列化的反应:
var jsonresult=await response.Content.ReadAsStringAsync();
var deserializedjsonobject = JObject.Parse(jsonResult);
var Ids= deserializedjsonobject["dataset"]
但值结果IDS始终是:
"[\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]
谢谢
dataset
是一个序列化JSON字符串。您将需要反序列化的外部对象后,反序列化这一点。
var jsonresult = await response.Content.ReadAsStringAsync();
var deserializedjsonobject = JObject.Parse(jsonResult);
var Ids = JArray.Parse(deserializedjsonobject["dataset"]);
感谢大家的输入。我没有注意的问题是这样一个事实,数据集“:‘[XXXXX]’被包裹在双引号,因此回来了作为字符串我接触的供应商,他们解决了问题