首页 > 解决方案 > System.Text.Json 如何反序列化

问题描述

我已经实现了一个 EANCode13 类,其构造函数具有如下参数:

public class EAN13Code {
  public EAN13Code(string value) {
      // validate it 
  }

  [JsonConstructor]
  public EAN13Code(long value) {
     // validate it
  }
}
public class ApiResponse
{
    public EAN13Code Code { get; }

    [JsonConstructor]
    public ApiResponse(EAN13Code code) {
       Code = code;
    }
}

和这样的 JSON:

{
   "code" : 978020137962
}

尝试像这样简单地反序列化是行不通的:

var reponse = JsonSerializer.Deserialize<ApiResponse>(json);

我需要做什么才能让它工作?

我需要自定义 Json 转换器吗?写一个很容易,但没有更简单或更好的方法吗?

有图书馆可以提供帮助吗?

标签: .netsystem.text.json

解决方案


推荐阅读