gpt4 book ai didi

c# - 在不创建类的情况下反序列化 JSON 响应

转载 作者:行者123 更新时间:2023-12-04 12:13:50 25 4
gpt4 key购买 nike

从 API 调用的结果来看,我有大量的 JSON 需要处理。

我目前有这个

Object convertObj = JsonConvert.DeserializeObject(responseFromServer);

我知道我可以做类似的事情
Movie m = JsonConvert.DeserializeObject<Movie>(responseFromServer);

然后像这样使用它
m.FieldName
m.AnotherField
//etc

理想情况下,我想做类似的事情
var itemName = convertObj["Name"];

获取列表中第一项的第一个 Name 值。

这是可能的,还是我必须创建一个类来反序列化?

我不想创建类的原因是我不是 API 的所有者,并且字段结构可能会改变。

编辑。

好的,所以我创建了这个类,因为它似乎是最好的方法,但是有没有办法将 JSON 反序列化为列表?
var sessionScans = new List<SessionScan>();
sessionScans = JsonConvert.DeserializeObject<SessionScan>(responseFromServer);

提示它无法将 SessionScan 转换为通用列表。

最佳答案

无需使用dynamic ,您可以简单地使用 JToken这已经符合您的期望:

var json = @"
{
""someObj"": 5
}
";
var result = JsonConvert.DeserializeObject<JToken>(json);
var t = result["someObj"]; //contains 5

关于c# - 在不创建类的情况下反序列化 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40733792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com