Разбор vcard json C#
Я хочу проанализировать vcard RFC 7095 с помощью Json.NET:
["vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "John Doe"],
["gender", {}, "text", "M"],
["categories", {}, "text", "computers", "cameras"],
...
]
]
Я пытаюсь сделать это с помощью FormatTypeFormater, но я не могу проверить JSON.
1 ответ
Вы можете разобрать это используя JavaScriptSerializer
к object[]
, затем поработайте над этим, чтобы построить более сложный тип:
var js = new JavaScriptSerializer();
var o = (object[])js.Deserialize(@"[""vcard"",
[
[""version"", {}, ""text"", ""4.0""],
[""fn"", {}, ""text"", ""John Doe""],
[""gender"", {}, ""text"", ""M""],
[""categories"", {}, ""text"", ""computers"", ""cameras""]
]
]", typeof(object[]));
if (o.length > 1 && (o[0] as string) == "vcard")
{
var props = o[1] as object[];
foreach (object[] values in props)
{
switch (values[0] as string)
{
case "version":
...
break;
case "fn":
...
break;
....
}
}
}
Вы должны сделать больше проверок на это, но это хорошее начало..