検索条件
全1件
(1/1ページ)
似非バリアント もしくは、似非JSONオブジェクト。
Jsonパーサ・フォーマッタの独自実装ですはい。
ゲームとかのセーブデータをスキーマレスに読み書きしたいなという欲求があるからして。
class VarTest { public static void TestVar() { Var v = new VarList { true, false, 12345, "ほげ", new byte[]{0x1, 0x2, 3, 4, 5, }, new VarDictionary() { {"あ", true}, {"い", false}, {"X", Var.Null}, {"Y", 123}, {"辞書", new VarDictionary() { {"あ", true}, {"い", false}, {"X", new Var()}, {"Y", 123}, } }, {"辞書内配列", new VarDictionary() { {"あ", new int[]{123,456 } }, {"い", new bool[]{true, true, false, false, true} }, {"X", new VarList { Var.Null, "えー", new byte[]{99, 99, 99}, } }, {"Y", new string[]{"う゛ぁ", "う゛ぃ",} }, } } }, "にゃー", }; int a = v[5]["辞書内配列"]["あ"][1]; // → 456 string b = v[5]["辞書内配列"]["X"][1]; // → "えー" Console.WriteLine(a); Console.WriteLine(b); string serialized = v.ToFormattedString(); // JSON形式の文字列になる Console.WriteLine(serialized); Var readed = Var.FromFormattedString(serialized); // JSON形式の文字列から読み込む Console.WriteLine(readed.ToFormattedString()); // ちゃんと読み込めたか? } }
のような。
読み込み時に備えて、Nullとは別にundefindも定義しておくべきだったかしら。