>백엔드 개발 >C++ >동적 키를 사용하여 JSON을 C# 개체 목록으로 역직렬화하는 방법은 무엇입니까?

동적 키를 사용하여 JSON을 C# 개체 목록으로 역직렬화하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-19 19:23:08513검색

How to Deserialize JSON with Dynamic Keys into a C# List of Objects?

C#의 동적 키 JSON 역직렬화

어떤 경우에는 웹 요청이 동적 키가 포함된 JSON 응답을 반환할 수 있으며, 이로 인해 C# 개체로 역직렬화할 때 문제가 발생합니다. 예를 들어 다음 JSON 응답을 고려해 보세요.

<code>{
"nasdaq_imbalance": 
{
    "name": "nasdaq_imbalance", 
    "group": "Market Data", 
    "description": null
},
"DXOpen IM": 
{
    "name": "DXOpen IM", 
    "group": "Daily",
    "description": null
}, 
"Float Shares": 
{
    "name": "Float Shares", 
    "group": "Daily", 
    "description": null
}, 
}</code>

목표는 이 JSON을 다음 유형의 C# 개체 목록으로 역직렬화하는 것입니다.

<code>public class Dataset    {
    public string name { get; set; } 
    public string group { get; set; } 
    public string description { get; set; } 
}</code>

이를 위해 Json.NET의 강력한 기능을 활용할 수 있습니다. 다음 코드 조각은 방법을 보여줍니다.

<code class="language-csharp">Dictionary<string, Dataset> datasets = JsonConvert.DeserializeObject<Dictionary<string, Dataset>>(json);</code>

이 코드 줄은 JSON을 키가 JSON 응답의 동적 키(예: "nasdaq_imbalance", "DXOpen IM" 등)이고 값이 Dataset 클래스의 인스턴스인 사전으로 역직렬화합니다.

이 사전에서 동적 키를 통해 데이터 세트에 쉽게 액세스하고 필요에 따라 사용할 수 있습니다. 예를 들어, "nasdaq_imbalance" 키를 사용하여 데이터 세트에 액세스하려면:

<code class="language-csharp">Dataset nasdaqImbalanceDataset = datasets["nasdaq_imbalance"];</code>

이 솔루션은 동적 키를 미리 알고 있는 경우에만 작동한다는 점을 명심하세요. 키가 동적으로 변경될 수 있는 경우 더 복잡한 접근 방식이 필요할 수 있습니다.

위 내용은 동적 키를 사용하여 JSON을 C# 개체 목록으로 역직렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.