我有以下返回的JSON,我只想提取processResults
中的信息。我真的不在乎requestId
。
{
"requestId": "884a118f-e599-43a7-9a0c-6ce5afbdb36b",
"processResults": [{
"code": "SYS_DESERIALIZATION_ERROR",
"context": "punch.PunchId",
"level": "ERROR",
"message": "Could not find member 'PunchId'."
}]
}
我创建了这两个类,然后称为DeserializeObject()
。这样可以抽出数据,但是我觉得应该有一种方法可以将processRequest
结果仅放入列表中,而不必创建额外的RequestResponse
类。
class RequestResponse
{
public string requestId { get; set; }
public List<ProcessResults> processResults { get; set; }
}
public class ProcessResults
{
public string Code { get; set; }
public string Level { get; set; }
public string Message { get; set; }
}
然后我使用此代码尝试反序列化。它可以工作,但是有没有更好的方法将ProcessResults
数据提取到列表中?
RequestResponse requestResponse = JsonConvert.DeserializeObject<RequestResponse>(response.Content);
答案 0 :(得分:0)
您现在使用的方法没有内在的错误,但是如果您真的反对拥有根类,则可以使用JObject
来解决它:
var jo = JObject.Parse(response.Content);
var processResults = jo["processResults"].ToObject<List<ProcessResults>>();