目前,我是首次使用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
。
您发现任何明显的错误吗?谢谢!