Json 파싱 (C#, python, node.js)

실습예제로는 적당한 게 없어 네이버 실시간 검색어를 이용했습니다.

C#

using System;
using System.Net;
using Newtonsoft.Json;  // NuGet 패키지 Newtonsoft.Json

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            WebClient client = new WebClient();
            // client.Encoding = System.Text.Encoding.UTF8;

            string data = client.DownloadString("http://rank.search.naver.com/rank.js");
            dynamic json = JsonConvert.DeserializeObject(data);
            var jsonData = json.data[0].data;

            foreach (var key in jsonData)
            {
                Console.WriteLine($"{key.rank}위 {key.keyword}");
            }
            Console.Read();
        }
    }
}

python

import requests  # pip install requests

resp = requests.get("http://rank.search.naver.com/rank.js")
json = resp.json()
json_data = json['data'][0]['data']

for key in json_data:
    print(f"{key['rank']} 위 {key['keyword']}")

nodes.js

const request = require('request'); // npm i request

request.get('http://rank.search.naver.com/rank.js', function (error, response, body) {
    let json = JSON.parse(body);
    let jsonData = json.data[0].data

    for (const key of jsonData) {
        console.log(`${key.rank}위 ${key.keyword}`)
    }
});

반응형