Anonymous
Не удалось десериализовать JSON в модель C# [закрыто]
Сообщение
Anonymous » 23 дек 2025, 02:40
У меня есть API, который возвращает данные в формате JSON
Код: Выделить всё
[
{
"@type": "https://XXXXXX.com/model/portfolio-mgmt/positions/Positions.v1.json#/Position",
"assetId": "GGG4H1L19",
"parentAssetId": "GGG4H1L19",
"ccy": "USD",
"strategyId": 0,
"strategyName": "Unassigned2",
"price": 94.030073,
"pricePurpose": "SSB",
"priceSource": "MT535",
"priceDate": "2025-12-18",
"riskDate": "2025-12-18",
"secGroup": "BND",
"secType": "CORP",
"secDesc1": "DFGFGFGF (DFGFGFGF FF)",
"secDesc2": "",
"cpn": 5.25,
"isin": "XS1936302949",
"sedol": "JJJ66T4",
"posSource": "EOD",
"factor": 1,
"factorDate": "2019-01-16T08:00:00.000Z",
"tradeTranType": "",
"baseCcy": "USD",
"accrualDays": 0,
"accruedInterest": 2.216666666666667,
"dts": 2024.1029242285342,
"krd10y": 1.2935621721818327,
"krd15y": 1.7085157867230247,
"krd20y": 2.6932766823014798,
"krd25y": 5.457588395021552,
"krd30y": 0,
"krd1y": 0.04808081621919099,
"krd2y": 0.09692890561954999,
"krd3m": 0.010833756764871999,
"krd3y": 0.22853401741634796,
"krd40y": 0,
"krd50y": 0,
"krd5y": 0.41955447649324296,
"krd7y": 0.6790998761984979,
"market": "EURO",
"marketRegion": "",
"modDur": 12.925992851114477,
"modDurToWorst": 12.925992851114477,
"oad": 12.635974884939591,
"oac": 2.366394844562937,
"staticYield": 5.708861963822853,
"walToWorst": 24.077777777777776,
"oas": 92.0086199143619,
"portfolioNAV": 2825896822.787146,
"priceAssetId": "GGG4H1L19",
"priceIssue": 98.614,
"spreadDur": 12.933009087897315,
"wal": 24.077777777777776,
"issuerCountry": "DFGFGFGF",
"mktValueSOD": 384986.9586666667,
"notionalMktValueSOD": 384986.9586666667,
"priceDateSOD": "2025-12-18",
"pricePurposeSOD": "SSB",
"priceSOD": 94.030073,
"priceSourceSOD": "MT535",
"riskSource": "LEH",
"ultimateIssuerShortName": "DFGFGFGF DFGFGFGF FF (GOVERNMENT)",
"ultimateIssuerLongName": "DFGFGFGF DFGFGFGF FF (GOVERNMENT)",
"ultimateIssuerTicker": "DDD",
"countryRisk": "DFGFGFGF",
"issuerId": "R84549",
"issuerLongName": "DFGFGFGF Generic OF (GOVERNMENT)",
"issuerShortName": "DFGFGFGF Generic OF (GOVERNMENT)",
"issuerTicker": "DDD",
"mktValue": 384986.9586666667,
"notionalMktValue": 384986.9586666667,
"portfolioName": "HHHHH",
"posQuantity": 400000,
"priceAsPct": true,
"putCallType": "NONE",
"secTicker": "DDD",
"ultimateParentIssuerId": "R84549",
"maturity": "2050-01-16",
"minTradeIncrement": 1000,
"minTradeSize": 200000,
"referenceDate": "2025-12-18",
"cashComputed": 0,
"portfolioNAVComputed": 2827824599.9418983,
"portfolioNAVComputedNotional": 2827824599.941902,
"currentFaceSOD": 400000,
"qtySOD": 400000,
"localBaseFxRate": 1,
"isRateFlipped": true,
"gpStatus": "Best Available",
"inflationDuration": 0,
"alternateOas": 156.50672712529723,
"parentCurrencySwapAssetId": ""
},
{
"@type": "https://XXXXXX.com/model/portfolio-mgmt/positions/Positions.v1.json#/Position",
"assetId": "XXXXXXXXXX",
"parentAssetId": "XXXXXXXXXX",
"ccy": "USD",
"strategyId": 0,
"strategyName": "Unassigned2",
"price": 102.216194,
"pricePurpose": "CCCC",
"priceSource": "VT535",
"priceDate": "2025-12-18",
"riskDate": "2025-12-18",
"secGroup": "CCC",
"secType": "CORP",
"secDesc1": "JJJ XXXX VVVV LLC",
"secDesc2": "",
"cpn": 8.125,
"isin": "TY86177CAA71",
"sedol": "SDFSDFSD7",
"posSource": "EOD",
"factor": 1,
"factorDate": "2025-11-21T08:00:00.000Z",
"tradeTranType": "",
"baseCcy": "USD",
"accrualDays": 0,
"accruedInterest": 0.609375,
"dts": 1382.2655872780178,
"krd10y": 0,
"krd15y": 0,
"krd20y": 0,
"krd25y": 0,
"krd30y": 0,
"krd1y": 0.06832427405840302,
"krd2y": 0.22074179211052408,
"krd3m": 0.013892238553316005,
"krd3y": 0.9288834301391363,
"krd40y": 0,
"krd50y": 0,
"krd5y": 2.334211165498947,
"krd7y": 0.008873766119436003,
"market": "United States",
"marketRegion": "North America",
"modDur": 4.037147441353961,
"modDurToWorst": 3.351927550957375,
"oad": 3.574926666479762,
"oac": -0.213010269605084,
"staticYield": 7.466725507621863,
"walToWorst": 3.991666666666667,
"oas": 362.7412058298751,
"portfolioNAV": 2825896822.787146,
"priceAssetId": "86177CAA7",
"priceIssue": 100,
"spreadDur": 3.573065145754676,
"wal": 3.991666666666667,
"issuerCountry": "United States",
"mktValueSOD": 102825.569,
"notionalMktValueSOD": 102825.569,
"priceDateSOD": "2025-12-18",
"pricePurposeSOD": "FFF",
"priceSOD": 102.216194,
"priceSourceSOD": "MT535",
"riskSource": "LEH",
"ultimateIssuerShortName": "JJJ XXXX VVVV LLC",
"ultimateIssuerLongName": "JJJ XXXX VVVV LLC",
"ultimateIssuerTicker": "GHGHGB",
"countryRisk": "United States",
"issuerId": "P04147",
"issuerLongName": "JJJ XXXX VVVV LLC",
"issuerShortName": "JJJ XXXX VVVV LLC",
"issuerTicker": "GHGHGB",
"mktValue": 102825.569,
"notionalMktValue": 102825.569,
"portfolioName": "HHHHH",
"posQuantity": 100000,
"priceAsPct": true,
"putCallType": "CALL",
"secTicker": "GHGHGB",
"ultimateParentIssuerId": "Y787147",
"maturity": "2030-12-15",
"minTradeIncrement": 1000,
"minTradeSize": 1000,
"referenceDate": "2025-12-18",
"cashComputed": 0,
"portfolioNAVComputed": 2827824599.9418983,
"portfolioNAVComputedNotional": 2827824599.941902,
"currentFaceSOD": 100000,
"qtySOD": 100000,
"localBaseFxRate": 1,
"isRateFlipped": true,
"gpStatus": "Best Available",
"inflationDuration": 0,
"alternateOas": 386.8570907307278,
"parentCurrencySwapAssetId": ""
},
{
"@type": "https://XXXXXX.com/model/portfolio-mgmt/positions/Positions.v1.json#/Position",
"assetId": "GGG5FR0P1",
"parentAssetId": "GGG5FR0P1",
"ccy": "USD",
"strategyId": 0,
"strategyName": "Unassigned2",
"price": 97.224091,
"pricePurpose": "HHHHH",
"priceSource": "YU535",
"priceDate": "2025-12-18",
"riskDate": "2025-12-18",
"secGroup": "VVV",
"secType": "CORP",
"secDesc1": "GGGGGG (Generic OF)",
"secDesc2": "",
"cpn": 5.45,
"isin": "XS2226916216",
"sedol": "GHGPBC7",
"posSource": "EOD",
"factor": 1,
"factorDate": "2020-09-16T07:00:00.000Z",
"tradeTranType": "",
"baseCcy": "USD",
"accrualDays": 0,
"accruedInterest": 1.392777777777778,
"dts": 1333.3118177314327,
"krd10y": 0,
"krd15y": 0,
"krd20y": 0,
"krd25y": 0,
"krd30y": 0,
"krd1y": 0.047633324734842004,
"krd2y": 0.09631934969371302,
"krd3m": 0.013040436161854001,
"krd3y": 0.22399326838411102,
"krd40y": 0,
"krd50y": 0,
"krd5y": 0.9384728704083761,
"krd7y": 4.207453444191736,
"market": "EURO",
"marketRegion": "",
"modDur": 5.474656371794106,
"modDurToWorst": 5.474656371794106,
"oad": 5.526912693574632,
"oac": 0.37031729208423,
"staticYield": 5.953934833241181,
"walToWorst": 6.744444444444445,
"oas": 206.59405653127104,
"portfolioNAV": 2825896822.787146,
"priceAssetId": "HHHH5FR0P1",
"priceIssue": 0,
"spreadDur": 5.632744411334639,
"wal": 6.744444444444445,
"issuerCountry": "Some Country",
"mktValueSOD": 197233.73755555556,
"notionalMktValueSOD": 197233.73755555556,
"priceDateSOD": "2025-12-18",
"pricePurposeSOD": "Some",
"priceSOD": 97.224091,
"priceSourceSOD": "Some535",
"riskSource": "Some",
"ultimateIssuerShortName": "Some Country (Generic OF)",
"ultimateIssuerLongName": "Some Country (Generic OF)",
"ultimateIssuerTicker": "Some Country",
"countryRisk": "Some Country",
"issuerId": "R75070",
"issuerLongName": "Some Country (Generic OF)",
"issuerShortName": "Some Country (Generic OF)",
"issuerTicker": "Some Country",
"mktValue": 197233.73755555556,
"notionalMktValue": 197233.73755555556,
"portfolioName": "HHHHH",
"posQuantity": 200000,
"priceAsPct": true,
"putCallType": "NONE",
"secTicker": "Some Country",
"ultimateParentIssuerId": "R75070",
"maturity": "2032-09-16",
"minTradeIncrement": 1000,
"minTradeSize": 200000,
"referenceDate": "2025-12-18",
"cashComputed": 0,
"portfolioNAVComputed": 2827824599.9418983,
"portfolioNAVComputedNotional": 2827824599.941902,
"currentFaceSOD": 200000,
"qtySOD": 200000,
"localBaseFxRate": 1,
"isRateFlipped": true,
"gpStatus": "Best Available",
"inflationDuration": 0,
"alternateOas": 236.70731713806165,
"parentCurrencySwapAssetId": ""
}
]
У меня есть класс C# для модели
Код: Выделить всё
public class Position
{
public Dictionary? assetData { get; set; }
}
public class AssetData
{
[JsonPropertyName("assetId")]
public string? AssetID { get; set; }
//[JsonPropertyName("cusip2Set")]
//public Cusip2Set? Cusip2Set { get; set; }
//[JsonPropertyName("cusip")]
//public string? Cusip { get; set; }
[JsonPropertyName("secDesc1")]
public string? SecurityDescription { get; set; }
[JsonPropertyName("sedol")]
public string? Sedol { get; set; }
[JsonPropertyName("secTicker")]
public string? secTicker { get; set; }
[JsonPropertyName("isin")]
public string? isin { get; set; }
[JsonPropertyName("secType")]
public string? secType { get; set; }
}
Я пытаюсь десериализовать его с помощью приведенного ниже кода
Код: Выделить всё
var obj = JsonSerializer.Deserialize(responseContent, SingletonJsonSerializerOptions.s_readOptions);
Я также попробовал способ, описанный ниже, но все равно выдал ту же ошибку.
Код: Выделить всё
var obj = JsonSerializer.Deserialize(responseContent, SingletonJsonSerializerOptions.s_readOptions);
Почему он не работает и не может десериализоваться, и почему он выдает очень общую ошибку? Ошибка следующая. Помогите мне десериализовать JSON в класс Position или словарь AssetData.
Значение JSON не удалось преобразовать в XXXXXX.XXXXX.APICore.Models.XXXXXXX.Positions.AssetData. Путь: $ | НомерЛинии: 0 | BytePositionInLine: 1.
Там выдается ошибка, есть какая-нибудь помощь или идея, мой друг?
Согласно советам из комментариев, я начал реализацию с использованием списка вместо словаря, но она реализуется с использованием универсальных шаблонов, как показано ниже.
Код: Выделить всё
public class Position
{
public List AssetData { get; set; }
}
How can I fit it to implement this below way, with Generics
JsonSerializer.Deserialize(responseContent, SingletonJsonSerializerOptions.s_readOptions);
Я могу десериализовать данные, используя приведенный ниже подход
Код: Выделить всё
JsonSerializer.Deserialize(responseContent, SingletonJsonSerializerOptions.s_readOptions);
Но мне нужно использовать Generic (для класса Position), пожалуйста, помогите
Подробнее здесь:
https://stackoverflow.com/questions/798 ... harp-model
1766446845
Anonymous
У меня есть API, который возвращает данные в формате JSON [code][ { "@type": "https://XXXXXX.com/model/portfolio-mgmt/positions/Positions.v1.json#/Position", "assetId": "GGG4H1L19", "parentAssetId": "GGG4H1L19", "ccy": "USD", "strategyId": 0, "strategyName": "Unassigned2", "price": 94.030073, "pricePurpose": "SSB", "priceSource": "MT535", "priceDate": "2025-12-18", "riskDate": "2025-12-18", "secGroup": "BND", "secType": "CORP", "secDesc1": "DFGFGFGF (DFGFGFGF FF)", "secDesc2": "", "cpn": 5.25, "isin": "XS1936302949", "sedol": "JJJ66T4", "posSource": "EOD", "factor": 1, "factorDate": "2019-01-16T08:00:00.000Z", "tradeTranType": "", "baseCcy": "USD", "accrualDays": 0, "accruedInterest": 2.216666666666667, "dts": 2024.1029242285342, "krd10y": 1.2935621721818327, "krd15y": 1.7085157867230247, "krd20y": 2.6932766823014798, "krd25y": 5.457588395021552, "krd30y": 0, "krd1y": 0.04808081621919099, "krd2y": 0.09692890561954999, "krd3m": 0.010833756764871999, "krd3y": 0.22853401741634796, "krd40y": 0, "krd50y": 0, "krd5y": 0.41955447649324296, "krd7y": 0.6790998761984979, "market": "EURO", "marketRegion": "", "modDur": 12.925992851114477, "modDurToWorst": 12.925992851114477, "oad": 12.635974884939591, "oac": 2.366394844562937, "staticYield": 5.708861963822853, "walToWorst": 24.077777777777776, "oas": 92.0086199143619, "portfolioNAV": 2825896822.787146, "priceAssetId": "GGG4H1L19", "priceIssue": 98.614, "spreadDur": 12.933009087897315, "wal": 24.077777777777776, "issuerCountry": "DFGFGFGF", "mktValueSOD": 384986.9586666667, "notionalMktValueSOD": 384986.9586666667, "priceDateSOD": "2025-12-18", "pricePurposeSOD": "SSB", "priceSOD": 94.030073, "priceSourceSOD": "MT535", "riskSource": "LEH", "ultimateIssuerShortName": "DFGFGFGF DFGFGFGF FF (GOVERNMENT)", "ultimateIssuerLongName": "DFGFGFGF DFGFGFGF FF (GOVERNMENT)", "ultimateIssuerTicker": "DDD", "countryRisk": "DFGFGFGF", "issuerId": "R84549", "issuerLongName": "DFGFGFGF Generic OF (GOVERNMENT)", "issuerShortName": "DFGFGFGF Generic OF (GOVERNMENT)", "issuerTicker": "DDD", "mktValue": 384986.9586666667, "notionalMktValue": 384986.9586666667, "portfolioName": "HHHHH", "posQuantity": 400000, "priceAsPct": true, "putCallType": "NONE", "secTicker": "DDD", "ultimateParentIssuerId": "R84549", "maturity": "2050-01-16", "minTradeIncrement": 1000, "minTradeSize": 200000, "referenceDate": "2025-12-18", "cashComputed": 0, "portfolioNAVComputed": 2827824599.9418983, "portfolioNAVComputedNotional": 2827824599.941902, "currentFaceSOD": 400000, "qtySOD": 400000, "localBaseFxRate": 1, "isRateFlipped": true, "gpStatus": "Best Available", "inflationDuration": 0, "alternateOas": 156.50672712529723, "parentCurrencySwapAssetId": "" }, { "@type": "https://XXXXXX.com/model/portfolio-mgmt/positions/Positions.v1.json#/Position", "assetId": "XXXXXXXXXX", "parentAssetId": "XXXXXXXXXX", "ccy": "USD", "strategyId": 0, "strategyName": "Unassigned2", "price": 102.216194, "pricePurpose": "CCCC", "priceSource": "VT535", "priceDate": "2025-12-18", "riskDate": "2025-12-18", "secGroup": "CCC", "secType": "CORP", "secDesc1": "JJJ XXXX VVVV LLC", "secDesc2": "", "cpn": 8.125, "isin": "TY86177CAA71", "sedol": "SDFSDFSD7", "posSource": "EOD", "factor": 1, "factorDate": "2025-11-21T08:00:00.000Z", "tradeTranType": "", "baseCcy": "USD", "accrualDays": 0, "accruedInterest": 0.609375, "dts": 1382.2655872780178, "krd10y": 0, "krd15y": 0, "krd20y": 0, "krd25y": 0, "krd30y": 0, "krd1y": 0.06832427405840302, "krd2y": 0.22074179211052408, "krd3m": 0.013892238553316005, "krd3y": 0.9288834301391363, "krd40y": 0, "krd50y": 0, "krd5y": 2.334211165498947, "krd7y": 0.008873766119436003, "market": "United States", "marketRegion": "North America", "modDur": 4.037147441353961, "modDurToWorst": 3.351927550957375, "oad": 3.574926666479762, "oac": -0.213010269605084, "staticYield": 7.466725507621863, "walToWorst": 3.991666666666667, "oas": 362.7412058298751, "portfolioNAV": 2825896822.787146, "priceAssetId": "86177CAA7", "priceIssue": 100, "spreadDur": 3.573065145754676, "wal": 3.991666666666667, "issuerCountry": "United States", "mktValueSOD": 102825.569, "notionalMktValueSOD": 102825.569, "priceDateSOD": "2025-12-18", "pricePurposeSOD": "FFF", "priceSOD": 102.216194, "priceSourceSOD": "MT535", "riskSource": "LEH", "ultimateIssuerShortName": "JJJ XXXX VVVV LLC", "ultimateIssuerLongName": "JJJ XXXX VVVV LLC", "ultimateIssuerTicker": "GHGHGB", "countryRisk": "United States", "issuerId": "P04147", "issuerLongName": "JJJ XXXX VVVV LLC", "issuerShortName": "JJJ XXXX VVVV LLC", "issuerTicker": "GHGHGB", "mktValue": 102825.569, "notionalMktValue": 102825.569, "portfolioName": "HHHHH", "posQuantity": 100000, "priceAsPct": true, "putCallType": "CALL", "secTicker": "GHGHGB", "ultimateParentIssuerId": "Y787147", "maturity": "2030-12-15", "minTradeIncrement": 1000, "minTradeSize": 1000, "referenceDate": "2025-12-18", "cashComputed": 0, "portfolioNAVComputed": 2827824599.9418983, "portfolioNAVComputedNotional": 2827824599.941902, "currentFaceSOD": 100000, "qtySOD": 100000, "localBaseFxRate": 1, "isRateFlipped": true, "gpStatus": "Best Available", "inflationDuration": 0, "alternateOas": 386.8570907307278, "parentCurrencySwapAssetId": "" }, { "@type": "https://XXXXXX.com/model/portfolio-mgmt/positions/Positions.v1.json#/Position", "assetId": "GGG5FR0P1", "parentAssetId": "GGG5FR0P1", "ccy": "USD", "strategyId": 0, "strategyName": "Unassigned2", "price": 97.224091, "pricePurpose": "HHHHH", "priceSource": "YU535", "priceDate": "2025-12-18", "riskDate": "2025-12-18", "secGroup": "VVV", "secType": "CORP", "secDesc1": "GGGGGG (Generic OF)", "secDesc2": "", "cpn": 5.45, "isin": "XS2226916216", "sedol": "GHGPBC7", "posSource": "EOD", "factor": 1, "factorDate": "2020-09-16T07:00:00.000Z", "tradeTranType": "", "baseCcy": "USD", "accrualDays": 0, "accruedInterest": 1.392777777777778, "dts": 1333.3118177314327, "krd10y": 0, "krd15y": 0, "krd20y": 0, "krd25y": 0, "krd30y": 0, "krd1y": 0.047633324734842004, "krd2y": 0.09631934969371302, "krd3m": 0.013040436161854001, "krd3y": 0.22399326838411102, "krd40y": 0, "krd50y": 0, "krd5y": 0.9384728704083761, "krd7y": 4.207453444191736, "market": "EURO", "marketRegion": "", "modDur": 5.474656371794106, "modDurToWorst": 5.474656371794106, "oad": 5.526912693574632, "oac": 0.37031729208423, "staticYield": 5.953934833241181, "walToWorst": 6.744444444444445, "oas": 206.59405653127104, "portfolioNAV": 2825896822.787146, "priceAssetId": "HHHH5FR0P1", "priceIssue": 0, "spreadDur": 5.632744411334639, "wal": 6.744444444444445, "issuerCountry": "Some Country", "mktValueSOD": 197233.73755555556, "notionalMktValueSOD": 197233.73755555556, "priceDateSOD": "2025-12-18", "pricePurposeSOD": "Some", "priceSOD": 97.224091, "priceSourceSOD": "Some535", "riskSource": "Some", "ultimateIssuerShortName": "Some Country (Generic OF)", "ultimateIssuerLongName": "Some Country (Generic OF)", "ultimateIssuerTicker": "Some Country", "countryRisk": "Some Country", "issuerId": "R75070", "issuerLongName": "Some Country (Generic OF)", "issuerShortName": "Some Country (Generic OF)", "issuerTicker": "Some Country", "mktValue": 197233.73755555556, "notionalMktValue": 197233.73755555556, "portfolioName": "HHHHH", "posQuantity": 200000, "priceAsPct": true, "putCallType": "NONE", "secTicker": "Some Country", "ultimateParentIssuerId": "R75070", "maturity": "2032-09-16", "minTradeIncrement": 1000, "minTradeSize": 200000, "referenceDate": "2025-12-18", "cashComputed": 0, "portfolioNAVComputed": 2827824599.9418983, "portfolioNAVComputedNotional": 2827824599.941902, "currentFaceSOD": 200000, "qtySOD": 200000, "localBaseFxRate": 1, "isRateFlipped": true, "gpStatus": "Best Available", "inflationDuration": 0, "alternateOas": 236.70731713806165, "parentCurrencySwapAssetId": "" } ] [/code] У меня есть класс C# для модели [code]public class Position { public Dictionary? assetData { get; set; } } public class AssetData { [JsonPropertyName("assetId")] public string? AssetID { get; set; } //[JsonPropertyName("cusip2Set")] //public Cusip2Set? Cusip2Set { get; set; } //[JsonPropertyName("cusip")] //public string? Cusip { get; set; } [JsonPropertyName("secDesc1")] public string? SecurityDescription { get; set; } [JsonPropertyName("sedol")] public string? Sedol { get; set; } [JsonPropertyName("secTicker")] public string? secTicker { get; set; } [JsonPropertyName("isin")] public string? isin { get; set; } [JsonPropertyName("secType")] public string? secType { get; set; } } [/code] Я пытаюсь десериализовать его с помощью приведенного ниже кода [code]var obj = JsonSerializer.Deserialize(responseContent, SingletonJsonSerializerOptions.s_readOptions); [/code] Я также попробовал способ, описанный ниже, но все равно выдал ту же ошибку. [code]var obj = JsonSerializer.Deserialize(responseContent, SingletonJsonSerializerOptions.s_readOptions); [/code] Почему он не работает и не может десериализоваться, и почему он выдает очень общую ошибку? Ошибка следующая. Помогите мне десериализовать JSON в класс Position или словарь AssetData. Значение JSON не удалось преобразовать в XXXXXX.XXXXX.APICore.Models.XXXXXXX.Positions.AssetData. Путь: $ | НомерЛинии: 0 | BytePositionInLine: 1. Там выдается ошибка, есть какая-нибудь помощь или идея, мой друг? Согласно советам из комментариев, я начал реализацию с использованием списка вместо словаря, но она реализуется с использованием универсальных шаблонов, как показано ниже. [code]public class Position { public List AssetData { get; set; } } How can I fit it to implement this below way, with Generics JsonSerializer.Deserialize(responseContent, SingletonJsonSerializerOptions.s_readOptions); [/code] Я могу десериализовать данные, используя приведенный ниже подход [code]JsonSerializer.Deserialize(responseContent, SingletonJsonSerializerOptions.s_readOptions); [/code] Но мне нужно использовать Generic (для класса Position), пожалуйста, помогите Подробнее здесь: [url]https://stackoverflow.com/questions/79852687/failing-to-deserialize-json-into-a-c-sharp-model[/url]