解析 JSON 时将未定义的数据成员名称放入泛型 Diction<string, object>
Placing undefined data members names into generic Diction<string, object> when parsing JSON
我有这个 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);
希望对您有所帮助!干杯。
我有这个 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);
希望对您有所帮助!干杯。