c# - .NET 用于列表或单个项目的自定义 Json 转换器
问题描述
我的目标是用来System.text.Json
解析来自其余 api 的响应。响应返回一个或多个项目 - 但如果只返回一个项目,则[]
它周围没有括号(这使得解析变得困难)。
反序列化:
// i need a list here to process data
var response = JsonSeralizer.Deseralize<IList<ExampleResponse>>(content);
示例响应 1:
[
{
"Status": "Healthy"
},
{
"Status": "Healthy"
}
]
示例响应 2:
{
"Status": "Healthy"
}
如何使用JsonConverter<T>
可以解析单个项目或整个列表的自定义转换器?
解决方案
如果您无法更改 REST API 的输出以强制其始终返回一个数组,您可以在解析字符串之前检查该字符串,并添加括号。然后解析它。
我做了这个例子:https ://dotnetfiddle.net/dhZIKq
推荐阅读
- java - 折叠任一以返回不同的值
- python - webdriver无法登录instagram
- python - pyspark 检查列中的值是否遵循固定格式
- c# - 在与 switch 表达式中的对象模式匹配后取消引用可能的空引用 (CS8602)
- python - 在pycharm中使用虚拟环境以调试模式运行django程序?
- sql - 使用 OR 条件加入并仅使用 MIN(Column)
- visual-studio - 如何在 Visual Studio 中调试期间运行特定的代码片段?
- python - 尝试创建字典并附加到列表
- tensorflow-federated - 有没有办法将多个 .h5 模型文件加载为相应的客户端(tff.Clients)并运行联合平均?
- java - 正确使用 String.matches() 和正则表达式