JSON을 .NET 개체로 역직렬화하는 것은 Newtonsoft의 인기 있는 JSON 라이브러리를 사용하여 간단한 작업이 될 수 있습니다. 먼저 NuGet을 통해 라이브러리가 설치되어 있는지 확인하세요.
JsonConvert.DeserializeObject를 사용하는 대신 LINQ to JSON을 사용하는 것이 좋습니다. 이 접근 방식을 사용하면 JSON 데이터의 구조를 쿼리하여 값을 직접 추출할 수 있습니다. 예는 다음과 같습니다.
<code class="language-csharp">// 导入Newtonsoft.Json.Linq命名空间 using Newtonsoft.Json.Linq; // 假设您已从之前的步骤获得了JSON字符串 string jsonString = @"{ 'page': 1, 'albums': [ { 'name': 'Muse', 'cover_image_url': 'http://image.kazaa.com/path/to/image.jpg', 'artist_name': 'Muse' } ] }"; // 将JSON字符串解析为JObject JObject jObject = JObject.Parse(jsonString); // 使用LINQ表达式查询JObject以提取特定值 string coverImageUrl = (string)jObject["albums"][0]["cover_image_url"];</code>
이 코드에서는 LINQ 표현식을 사용하여 JObject를 쿼리하여 앨범 표지 이미지 URL을 추출합니다. 결과는 추가 구문 분석 없이 .NET 문자열에 직접 할당됩니다.
또 다른 접근 방식은 동적 유형을 사용하여 JSON을 역직렬화하는 것입니다. 이를 통해 구조를 알 수 없거나 유연성이 필요한 상황에서 객체를 더 쉽게 처리할 수 있습니다.
<code class="language-csharp">// 导入Newtonsoft.Json命名空间 using Newtonsoft.Json; // 将JSON反序列化为dynamic类型 dynamic results = JsonConvert.DeserializeObject<dynamic>(jsonString); // 动态访问属性 string albumName = results.albums[0].name; string artistName = results.albums[0].artist_name;</code>
스트림과 리더를 사용할 때는 리소스를 해제하고 메모리 누수를 방지하기 위해 올바르게 닫아야 합니다. 선호되는 방법은 코드 예제에 표시된 대로 using 문을 사용하는 것입니다.
위 내용은 Newtonsoft의 LINQ to JSON을 사용하여 JSON을 .NET 개체로 역직렬화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!