我正在尝试在Visual Studio 2011上为Windows 8构建Metro应用程序。在尝试执行该操作时,我遇到了一些如何在JSON不使用JSON.NET库的情况下进行解析的问题(它尚不支持Metro应用程序) 。
JSON
JSON.NET
无论如何,我想解析一下:
{ "name":"Prince Charming", "artist":"Metallica", "genre":"Rock and Metal", "album":"Reload", "album_image":"http:\/\/up203.siz.co.il\/up2\/u2zzzw4mjayz.png", "link":"http:\/\/f2h.co.il\/7779182246886" }
您可以使用在.NET 4.5中添加的System.Json命名空间中找到的类。您需要添加对System.Runtime.Serialization程序集的引用
该JsonValue.Parse()方法解析JSON文本,并返回一个JsonValue:
JsonValue value = JsonValue.Parse(@"{ ""name"":""Prince Charming"", ...");
如果您传递带有JSON对象的字符串,则应该能够将值转换为JsonObject:
using System.Json; JsonObject result = value as JsonObject; Console.WriteLine("Name .... {0}", (string)result["name"]); Console.WriteLine("Artist .. {0}", (string)result["artist"]); Console.WriteLine("Genre ... {0}", (string)result["genre"]); Console.WriteLine("Album ... {0}", (string)result["album"]);
这些类与System.Xml.Linq命名空间中的类非常相似。