解析vcard json C#
我想使用Json.NET解析vcard RFC 7095:
["vcard", [ ["version", {}, "text", "4.0"], ["fn", {}, "text", "John Doe"], ["gender", {}, "text", "M"], ["categories", {}, "text", "computers", "cameras"], ... ] ]
我尝试使用FormatTypeFormater,但我无法validationjson。
您可以使用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; .... } } }
你应该对此进行更多的validation,但这是一个好的开始..