我有这个 JSON(实际上是 Swagger):
{
"swagger": "2.0",
"info": {
"version": "2.0",
"name": "TheName",
"description": "No description"
}
"somethingElse" : "xyz"
}
我正在使用 Newtonsoft.JSON。我定义了我的对象:
public class WebService
{
public string swagger;
public Dictionary<string, object> AllOthers;
}
如您所见,我没有将“info”或“somethingElse”对象定义为成员。相反,我希望将其放入通用的 AllOthers 字典中
当我打电话时
var ws = Newtonsoft.Json.JsonConvert.DeserializeObject<WebService>(swaggerJSON);
ws 现在将正确包含 swagger 版本号字符串,但 AllOthers 将包含 null。我希望 AllOthers 包含完整的名称和描述,以及存储在通用对象中的有效负载。
这是如何实现的,还是不容易实现?
谢谢
最佳答案
此[JsonExtensionData]
有一个属性。使用此属性标记您的字典:
public class WebService
{
public string swagger;
[JsonExtensionData]
public Dictionary<string, object> AllOthers;
}
var ws = Newtonsoft.Json.JsonConvert.DeserializeObject<WebService>(json);
我希望这有帮助!干杯。
关于c# - 解析 JSON 时将未定义的数据成员名称放入通用 Diction<string, object> 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36189977/