検索条件
全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も定義しておくべきだったかしら。