dotnet core 3.1中的json反序列化不读取任何数据

时间:2019-12-23 02:03:35

标签: json .net-core

目前,我是首次使用dotnet core的人。我在JSON反序列化方面遇到困难。

我正在使用

System.Text.Json
System.Text.Json.Serialization

这是我需要解析为对象的utf8编码的json

{
  "ClientId": 1337,
  "BaseCcy": "EUR",
  "FxCCy": "USD",
  "InstrumentType": "fwd",
  "MaxMaturity": "2022-12-31"
}

这是我定义用于反序列化的类

namespace Produktkatalog.API
{
    public class ProduktkatalogEntry
    {
        int ClientId { get; set; }
        string BaseCcy { get; set; }
        string FxCcy { get; set; }
        string InstrumentType { get; set; }
        string MaxMaturity { get; set; }
    }
}

这是在读取原始字符串数据并将其反序列化的工作。

var fileName = "C:/path/to/json/pk1.json";
var json = File.ReadAllText(fileName);
ProduktkatalogEntry data = JsonSerializer.Deserialize<ProduktkatalogEntry>(json);

代码不会失败。但是,data的填充不正确。 VS的即时窗口显示返回值

{Produktkatalog.API.ProduktkatalogEntry}
BaseCcy: null
ClientId: 0
FxCcy: null
InstrumentType: null
MaxMaturity: null

似乎没有正确初始化。对于字符串,默认为null;对于整数,默认为0

您发现任何明显的错误吗?谢谢!

0 个答案:

没有答案