注目の記事 PICK UP!

  • C#

C# JSONファイルの読み込み方法

DynamicJSONを使ってJSONファイルの解析方法(デシリアライズ)を紹介します。

なお、DynamicJSONを利用する前提条件は、.NET Framework 4.0以上です。

ここのサンプルコードは、WebサーバーからJSONファイルをWebClientで取得し、クライアントPCでパース(解析)を行っています。

jsonファイルの解析

スポンサーリンク

DynamicJSONを使う前準備

DynamicJson – CodePlexから下記のダウンロードボタンを押してDynamicJson_1.2.0.0.zipを解凍してください。

download-codeplex

参照設定の追加

プロジェクトの参照設定から「DynamicJson.dll」を追加してください。

参照設定1 参照設定2

WebClientのクラス

このクラスは、Webサーバーとhttp通信するためのクラスです。なお、JSONファイルは、サーバー上にcompress(圧縮)でgzipされていることを想定しています。

DecompressionMethodsを使ってgzipを解凍しています。

using System.Net;は、参照設定に「Sustem.Net.Http」を追加すれば利用できます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net; //WebClient

namespace SampleCode
{
    class Decompression : WebClient
    {
        protected override WebRequest GetWebRequest(Uri address)
        {
            HttpWebRequest request = base.GetWebRequest(address) as HttpWebRequest;
            request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
            return request;
        }
    }
}

JSONファイルのパース(解析)

usingでDynamicJsonを追加してください。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Compression; //gzip
using Codeplex.Data;         //DynamicJson
using System.Net;            //WebClient

namespace SampleCode
{
    class JsonParse
    {
        /// <summary>
        /// DynamicJsonを使ってgzipで圧縮されている
        /// JSON形式のデータをHTTP通信で取得
        /// </summary>
        public void JsonParth()
        {
            string url = "JSONファイルが格納されたURL"
            var dc = new Decompression();

            try
            {
                // JSON形式のデータを取得
                string jsonString = dc.DownloadString(url);

                // JSONをパース(解析)
                var result = DynamicJson.Parse(jsonString);

                // 必要な項目だけ引っ張りたい場合
                var json = result["ほしい項目名"];

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }
}

関連記事

  1. C# LINQを使ってDataTableを並び替える

  2. Android Studio ビルドすると日本語が文字化けする2つの対応方法

  3. C# LINQを使って重複行をGroup byする方法

  4. C#でOutlook2010を使ったメール送信方法

  5. C# DataTableからComputeを使って合計値や平均値を算出する

  6. C# DataTableのデータを置換する

  7. C# DataTableにレコード追加

  8. C# DataTableの特定カラムを削除

  9. C# DataTableにCSVを読み込む

コメント

    • Robben
    • 2016年 9月 13日

    Great, thanks for sharing this blog.Thanks Again.
    Robben http://www.maillotdefoot-euro.com/

  1. この記事へのトラックバックはありません。

PAGE TOP