解析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,但这是一个好的开始..