C#でJSONを扱う

独習C#(新版)でお勉強中

 

JSONは構造が緩いので扱いにくいらしい。どう扱いにくいのか私には分からないのだが、DynamicJson.csがあると容易に扱えるというのでとりあえず試してみたのでメモっておこう。

 

コンパイル

PS >csc .\DynamicParse.cs  .\DynamicJson.cs

 

◎DynamicParse.cs

using Codeplex.Data;
using System;

namespace SelfCSharp.Chap11
{
    class DynamicParse
    {
        static void Main(string[] args)
        {
            var json = DynamicJson.Parse(
                @"{""title"":""速習C#"", ""min-price"":1000,
                    ""sample"":{""dl"":true},
                    ""authors"":[""山田太郎"", ""鈴木次郎""]");

            Console.WriteLine(json.title);
            Console.WriteLine(json.sample.dl);
            Console.WriteLine(json.authors[1]);
            Console.WriteLine(json["min-price"]);
            //Console.WriteLine(json.book);

            if (json.IsDefined("book"))
            {
                Console.WriteLine(json.book);
            }           
        }
    }
}

 

◎実行結果

PS >.\DynamicParse.exe
速習C#
True
鈴木次郎
1000