Pet*_*ete 5 c# json .net-core system.text.json
我正在使用一个 API,它出于某种原因在应该使用 null 的地方使用了 false。我不知道如何正确反序列化它。我试图创建一个自定义 JsonConverter 来解决这个问题,但无法这样做。我想避免使用动态类型。我应该如何反序列化这个?
这是默认响应。
{
"products": [
{
"id": 123456789,
"supplier": {
"id": 123456,
"title": "abc"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
我正在反序列化如下。
public class Container
{
public Product[] products { get; set; }
}
public class Product
{
public ulong id { get; set; }
public Supplier supplier { get; set; }
}
public class Supplier
{
public ulong id { get; set; }
public string title { get; set; }
}
JsonSerializer.Deserialize<Container>(json)
Run Code Online (Sandbox Code Playgroud)
这是当产品没有供应商时的反应。
{
"products": [
{
"id": 123456789,
"supplier": false
}
]
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*ans -3
假设您正在使用 Json.Net
var settings = new JsonSerializerSettings();
settings.NullValueHandling = NullValueHandling.Include;
settings.DefaultValueHandling = DefaultValueHandling.Include;
JsonSerializer.Deserialize<Container>(json,settings)
Run Code Online (Sandbox Code Playgroud)
或尝试
var serializeOptions = new JsonSerializerOptions
{
IgnoreNullValues =false
};
JsonSerializer.Deserialize<Container>(json,serializeOptions)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2591 次 |
| 最近记录: |