OK, je suis complètement nouveau à JSON et Json.NET - alors s'il vous plaît pardonnez mon ignorance; J'essaye d'analyser une chaîne qui provient d'une requête GET en quelque chose d'utile pour moi dans une application C#.Analyse des objets JSON imbriqués à partir d'une chaîne JavaScript
La chaîne contient une structure avec des objets JSON imbriqués. Les objets du premier niveau ont des codages UTF-8 comme \u0040
et des caractères d'échappement comme \. Le niveau suivant contient un autre objet JSON imbriqué avec double caractères d'échappement comme \\
et ainsi de suite (jusqu'à 5 caractères d'échappement!) ..
Il contient également "
représentations de guillemets comme ».
Ma première assumtion est Il s'agit d'objets JSON imbriqués Comment puis-je analyser ces objets imbriqués en quelque chose d'utile pour interroger, par exemple, LINQ? Dois-je écrire la logique moi-même, ou y at-il une fonction intéressante dans JSON.NET? déjà? Les premiers octets de la chaîne pour aider à clarifier:
{\"phase\":2,\"id\":\"pagelet_search_results\",\"is_last\":true,\"css\":[\"Jo2rQ\",\"pxy5B\"],\"js\":[\"tVaAM\",\"rLVa6\",\"FJ3LF\"],\"resource_map\":{\"FJ3LF\":{\"type\":\"js\",\"src\":\"http:\\/\\/e.static.ak.fbcdn.net\\/rsrc.php\\/y8\\/p\\/r\\/1NVEOfjbXp5.js\"},\"pxy5B\":{\"type\":\"css\",\"permanent\":1,\"src\":\"http:\\/\\/f.static.ak.fbcdn.net\\/rsrc.php\\/yc\\/r\\/9H-KBGVNlw_.css\"}},\"onload\":[\"window.__UIControllerRegistry[\\\"c4d4ab726887b68c58602753\\\"] = new UIPagelet(\\\"c4d4ab726887b68c58602753\\\", \\\"\\\\\\/pagelet\\\\\\/generic.php\\\\\\/SearchObjectResultsPagelet\\\\\\/\\\", {\\\"params\\\":{\\\"viewerContext\\\":{\\\"userID\\\":123454549,\\\"accountID\\\":123454549,\\\"appID\\\":0,\\\"isOmnipotent\\\":false,\\\"isAuthenticated\\\":true,\\\"accessTokens\\\":[],\\\"instanceKey\\\":\\\"1254318719\\\\\\/1256318759\\\\\\/0\\\",\\\"originalViewerContext\\\":null,\\\"__index\\\":5,\\\"__sampleId\\\":null,\\\"__next\\\":-808,\\\"__state\\\":4,\\\"__preparer\\\":{\\\"runnablePreparables\\\":[],\\\"newRunnablePreparables\\\":[],\\\"blockedPreparables\\\":[],\\\"isRunning\\\":false,\\\"current\\\":null,\\\"isSequential\\\":false,\\\"round\\\":4,\\\"index\\\":3},\\\"__addedPreparers\\\":{\\\"3\\\":{\\\"runnablePreparables\\\":[],\\\"newRunnablePreparables\\\":[],\\\"blockedPreparables\\\":[],\\\"isRunning\\\":false,\\\"current\\\":null,\\\"isSequential\\\":false,\\\"round\\\":4,\\\"index\\\":3}},\\\"__siblings\\\":[],\\\"__children\\\":[],\\\"__ancestors\\\":[],\\
Je vous remercie de votre aide, les gens;)
FYI il y a un sérialiseur/désérialiseur JSON entièrement fonctionnel dans le FCL. http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx –