1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | public class CLSList { public string TYPE { get; set; } public string NAME { get; set; } public string IMGURL { get; set; } public string ID { get; set; } public string SITEURL { get; set; } public string DATE { get; set; } } //제이슨을 요청해서 콘솔이나 메시지박스로 먼저 찍어 보시고, // 필요한 정보를 클래스 형태로 정의해주세요. private async void Form1_Load(object sender, EventArgs e) { string json = this.Request_Json(); this.ParseJson(json); } private string Request_Json() { string result = null; string url = "Json을 요청 할 URL" ; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader reader = new StreamReader(stream, Encoding.UTF8); //URF8인코딩을 한 상태로 Json을 읽어온다. result = reader.ReadToEnd(); stream.Close(); response.Close(); result = @result.Replace("\r\n", "").Replace("\\", "").Replace(" ", ""); //Json형태 다듬기. //인코딩 웹에서 Json을 받아오는 경우 의도치 않은 공백이나 // Escape 문자가 나타날 수 있으니 해주시면 좋습니다. } catch (Exception ex) { MessageBox.Show(ex.Message); // 혹시나 에러가 발생하면 메시지를 보세요~ } return result; //Json형태의 문자열을 리턴 } private void ParseJson(String json) //제이슨 문자열을 매개변수로 가져와, 원하는 정보만 가져온다. { System.Net.WebClient wcClient = new System.Net.WebClient(); List<CLSList> issues = new List<CLSList>(); JArray jsonArray = JArray.Parse(json); dynamic data = JObject.Parse(jsonArray[0].ToString()); CLSList issue = new CLSList(); foreach (JObject itemObj in jsonArray.Reverse()) //linq를 사용하면 쉽게 역정렬을 할 수 있다. { issue.TYPE = itemObj["tHeaderIDX"].ToString(); issue.ID = itemObj["tHeaderType"].ToString(); issue.NAME = itemObj["tHeaderName"].ToString(); issue.IMGURL = itemObj["tHeaderIMGURL"].ToString(); issue.SITEURL = itemObj["tHeaderTYPEURL"].ToString(); issue.DATE = itemObj["tHeaderJobDT"].ToString(); //위 클래스에서 정의한 변수들을 넣어준다. issues.Add(issue); } } // using문이 궁금할 때 팁! // shift + Enter를 입력하면, using문이 자동으로 완성됩니다. | cs |
Programming/C#