728x90
반응형
WPF & C# - 웹페이지에서 JSONString 값 가져오기 ( JSON / PHP / WEB / JSON_UNESCAPED_UNICODE / Newtonsoft.Json ) |
Newtonsoft.Json 추가하기
참조추가 > NuGet 패키지 관리 > 찾아보기 > Newtonsoft.Json > 설치
json.php
PHP ( json string 생성하기 )
1 2 3 4 5 6 | <?php $language["korean"] = "한글"; $language["english"] = "Hello"; echo json_encode($language,JSON_UNESCAPED_UNICODE); // {"korean":"안녕","english":"hi"} ?> | cs |
출력
{"korean":"한글","english":"Hello"}
MainWindow.xaml
1 2 3 4 | <StackPanel> <Button x:Name="btn" Height="28" Click="btn_Click"></Button> <Label x:Name="lbl"></Label> </StackPanel> | cs |
MainWindow.xaml.cs
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Windows;
using Newtonsoft.Json;
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 | private void btn_Click(object sender, RoutedEventArgs e) { string url = ""; // 1. JSON string으로 받기 string jsonString = Request_Json(url); System.Diagnostics.Debug.WriteLine(jsonString); // 2. JSON string으로부터 Object 가져오기 Person pObj = JsonConvert.DeserializeObject<Person>(jsonString); lbl.Content = jsonString; lbl.Content += "\n" + pObj.korean; lbl.Content += "\n" + pObj.english; } // class 생성 public class Person { public string korean { get; set; } public string english { get; set; } } // PHP 페이지에서 Json String 가져오기 private string Request_Json(string url) { string result = string.Empty; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); using (var response = (HttpWebResponse)request.GetResponse()) { using (Stream responseStream = response.GetResponseStream()) { using (StreamReader stream = new StreamReader(responseStream, Encoding.UTF8)) { result = stream.ReadToEnd(); } } } } catch (Exception e) { // Console.WriteLine(e.Message); } return result; } | cs |
728x90
반응형
'Programing (프로그래밍) > WPF & C# (C Sharp)' 카테고리의 다른 글
WPF & C# - Microsoft.Expression.Shapes.Arc ( Behind Code / Ring / 링 비하인드코드로 입력하기 ) (0) | 2019.01.08 |
---|---|
WPF & C# - 핑 테스트 Ping Test ( PingOptions Class ) (1) | 2019.01.06 |
WPF & C# - FileSystemWatcher 파일시스템감시 ( 실시간 폴더 및 파일 변경사항 체크 ) (3) | 2019.01.03 |
WPF & C# - NPKI 공인인증서 폴더 위치 열기 ( Folder Open Path ) (0) | 2018.12.27 |
WPF & C# - File Open Copy Move Rename ( 파일 열기 / 복사하기/ 이동하기 / 이름변경하기 ) (0) | 2018.11.20 |
WPF & C# - 마우스 커서 변경 ( Mouse Cursor / Cursors Change / Cursors.Arrow ) (4) | 2018.10.25 |
WPF & C# - 실행파일명 확인하기 ( Environment.GetCommandLineArgs() ) (0) | 2018.10.14 |
[자작] WPF & C# - DavichSign ( 다비치안경원 / 갤럭시북 / 초성검색 ) (0) | 2018.10.02 |