gpt4 book ai didi

c# - JsonSerializer.Deserialize 不填充对象内的列表

转载 作者:行者123 更新时间:2023-12-05 08:38:34 27 4
gpt4 key购买 nike

<分区>

我正在开发服务器端 Blazor 应用程序,但在处理返回以下 JSON 的特定 API 调用时遇到了问题。

{
"id": 2,
"status": 1,
"fileName": "Test PDF",
"fileType": "PDF",
"fileBytes": "",
"allSchemes": false,
"dateModified": "2020-06-12T12:32:08.99",
"dateCreated": "2020-06-11T11:32:19.877",
"isNew": false,
"schemes": [
{
"schemeCode": "0185",
"schemeName": null,
"baseCurrency": null
},
{
"schemeCode": "0186",
"schemeName": null,
"baseCurrency": null
}
]
}

但是,当我使用以下代码反序列化时,方案列表始终为 0。其他详细信息按预期填充

var accessToken = await _apiService.RequestNewToken(_httpClient);
_httpClient.SetBearerToken(accessToken);

return await JsonSerializer.DeserializeAsync<SchemeDocument>
(await _httpClient.GetStreamAsync($"api/schemeDocument/{id}"), new JsonSerializerOptions { PropertyNameCaseInsensitive = true });

SchemeDocument 类是

public class SchemeDocument
{
public int Id { get; set; }

public SchemeDocumentStatus Status { get; set; }

[Display(Name = "File Name")]
public string FileName { get; set; }

[Display(Name = "First Type")]
public string FileType { get; set; }

public byte[] FileBytes { get; set; }

[Display(Name = "All Schemes")]
public bool AllSchemes { get; set; }

public DateTime? DateModified { get; set; }

public DateTime DateCreated { get; set; }

[Computed]
public bool IsNew => this.Id == default(int);

[Write(false)]
public List<Scheme> Schemes { get; } = new List<Scheme>();
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com