C#으로 JSON 역직렬화
Muhammad Zeeshan
2023년10월12일
C#에서 역직렬화는 직렬화된 개체를 검색하여 메모리에 로드할 수 있음을 나타냅니다. 그런 다음 개체를 다시 사용할 수 있습니다. 마지막으로 객체의 속성 등을 설정하여 객체의 이전 상태를 되살립니다.
이 자습서에서는 C# 프로그래밍 언어를 사용하여 JSON 개체를 역직렬화하는 방법을 설명합니다.
C#
으로 JSON 역직렬화
C# 프로그래밍 언어를 사용하여 JSON 개체를 역직렬화하는 예를 들어 보겠습니다. 아래 예제에서는 학생들의 데이터를 사용하여 C#으로 JSON을 역직렬화합니다. 그러나 먼저 다음 예제를 단계별로 살펴보겠습니다.
-
시작하려면 다음 라이브러리를 가져와야 합니다.
using System; using System.Collections.Generic; using System.Web; using System.Web.Script.Serialization; using Newtonsoft.Json; using System.Linq; using System.Text; using System.Threading.Tasks;
-
예를 들어 다음과 같이
Studentid
및Studentname
과 같은 학생 정보를 보유할Student
구조를 만들어야 합니다.public class Students { public List<studentinfo> MyStudents { get; set; } } public class studentinfo { public string Studentid { get; set; } public string Studentname { get; set; } }
-
이제 JSON 목록을 만들고 임의의 학생 데이터를 사용하여 채웁니다.
string json = @"{""MyStudents"":[ {""Studentid"":""3227"",""Studentname"":""Muhammad Zeeshan""}, {""Studentid"":""3256"",""Studentname"":""Haseeb Khan""}, {""Studentid"":""3241"",""Studentname"":""Saad Ashrafi""}, {""Studentid"":""3267"",""Studentname"":""Bawa Khan""} ]}";
-
그런 다음
.Deserialize()
함수를 사용하여 목록을 역직렬화합니다.Students derializedStudent = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<Students>(json);
-
마지막으로
foreach
루프를 사용하여 콘솔에 결과를 표시합니다.foreach (var item in derializedStudent.MyStudents) { Console.WriteLine("id: {0}, name: {1}", item.Studentid, item.Studentname); }
전체 소스 코드는 다음과 같습니다.
완전한 소스 코드
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Script.Serialization;
using Newtonsoft.Json;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DeserializeJSONbyZeeshan {
class Program {
static void Main(string[] args) {
string json =
@"{""MyStudents"":[
{""Studentid"":""3227"",""Studentname"":""Muhammad Zeeshan""},
{""Studentid"":""3256"",""Studentname"":""Haseeb Khan""},
{""Studentid"":""3241"",""Studentname"":""Saad Ashrafi""},
{""Studentid"":""3267"",""Studentname"":""Bawa Khan""}
]}";
Students derializedStudent =
new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<Students>(json);
foreach (var item in derializedStudent.MyStudents) {
Console.WriteLine("id: {0}, name: {1}", item.Studentid, item.Studentname);
}
}
}
}
public class Students {
public List<studentinfo> MyStudents { get; set; }
}
public class studentinfo {
public string Studentid { get; set; }
public string Studentname { get; set; }
}
출력:
id: 3227, name: Muhammad Zeeshan
id: 3256, name: Haseeb Khan
id: 3241, name: Saad Ashrafi
id: 3267, name: Bawa Khan
작가: Muhammad Zeeshan
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn