ゆうなんとかさんの雑記帳的な。

Twitterで踊ったり音ゲーしたりしてるあの名前がよくわからない人が書いてるらしいよ。

.NETでJSONを扱える超軽量ライブラリ「DynamicJson」を見つけた

わずか1つのファイル、300行のライブラリです。作成者は日本人だそうです。
DynamicJson - Source Code全容はこちら
C#4.0で追加された動的型をうまく使ったJSONパーサーです。
作者さんのブログにある解説記事です。

使い方

読み取り

var json = DynamicJson.Parse(jsonString);
var hoge = json.hoge;
var isRight = json.nest.isRight;

文字列をパーサーに読み込ませるとパースした結果のオブジェクトを返してくれます。あとはそれに対してあたかもプロパティがあるかのようにアクセスするだけです。ネストしてても大丈夫。

書き込み

var obj = new {
  str = "string",
  num = 1,
  nest = new { bool = true },
  array = new { "string", "array" }
};
var formattedString = DynamicJson.Serialize(obj);

適当な型を定義したらSerializeに渡すだけ。動的でないCLR型を渡すとpublicなプロパティでキーと値を作ります。

最近はAPIのフォーマットとしてJSONがはやっているので、.NETでもうまく扱えるライブラリがあればなーと思っていたところでした。とても助かりました。。。