Programming/C# - Window

C#/ API를 사용하여 JSON파일 읽기

esoog Polaris 2023. 9. 27. 09:48
반응형
using System;
using System.Net.Http;
using System.Threading.Tasks;

using Newtonsoft.Json;
// nuget 다운로드 필요

using System.IO;
using System.Text;

namespace ConsoleApp1
{
    class Program
    {
        static async Task Main()
        {
            string apiUrl = "http://127.0.0.1/gps/api/view.php";

            using (HttpClient client = new HttpClient())
            {
                try
                {
                    HttpResponseMessage response = await client.GetAsync(apiUrl);

                    if (response.IsSuccessStatusCode)
                    {
                        string jsonContent = await response.Content.ReadAsStringAsync();

                        // JSON 데이터를 파싱하여 객체로 변환
                        var data = JsonConvert.DeserializeObject(jsonContent);

                        // JSON 데이터 파일로 저장
                        string jsonFilePath = "dump.json";
                        File.WriteAllText(jsonFilePath, JsonConvert.SerializeObject(data, Formatting.Indented), Encoding.UTF8);
                        Console.WriteLine(jsonContent);
                        Console.WriteLine("dump.json에 JSON 데이터를 파일에 저장했습니다.");
                    }
                    else
                    {
                        Console.WriteLine("API 요청이 실패했습니다.");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"오류 발생: {ex.Message}");
                }
            }

            Console.ReadLine(); 
            // 콘솔창 대기 상태 위해 입력 값 요청
        }
    }
}
728x90