Чтение JSON-файла с помощью Newtonsoft.Json - C#
Формулировка задачи:
И так, у нас есть JSon-файл вот такого типа:
Каким образом можно пропарсить данный JSON, с помощью цикла, который по мере работы будет выводить всё в массив, например, результат моего примера должен быть такой:
{ "objects": { "minecraft/sounds/entity/rabbit/attack2.ogg": { "hash": "4b90ff3a9b1486642bc0f15da0045d83a91df82e", "size": 7268 }, "minecraft/sounds/entity/rabbit/attack2.ogg": { "hash": "4b90ff3a9b1486642bc0f15da0045d83a91df82e", "size": 7268 }, "minecraft/sounds/entity/shulker/close5.ogg": { "hash": "e555fcece121879fe0becbada9d01dea27ab153d", "size": 5376 } } }
minecraft/sounds/entity/rabbit/attack2.ogg 4b90ff3a9b1486642bc0f15da0045d83a91df82e 7268 minecraft/sounds/entity/rabbit/attack2.ogg 4b90ff3a9b1486642bc0f15da0045d83a91df82e и т.д.
Заранее спасибо!Решение задачи: «Чтение JSON-файла с помощью Newtonsoft.Json»
textual
Листинг программы
using System.Linq; using Newtonsoft.Json.Linq; using System.Collections.Generic; namespace ConsoleApplication105 { class Program { static void Main(string[] args) { string s = @"{ ""virtual"": true, ""objects"": { ""READ_ME_I_AM_VERY_IMPORTANT.txt"": { ""hash"": ""0d000710b71ca9aafabd8f587768431d0b560b32"", ""size"": 546 }, ""icons/icon_16x16.png"": { ""hash"": ""bdf48ef6b5d0d23bbb02e17d04865216179f510a"", ""size"": 3665 }, ""icons/icon_32x32.png"": { ""hash"": ""92750c5f93c312ba9ab413d546f32190c56d6f1f"", ""size"": 5362 }, ""icons/minecraft.icns"": { ""hash"": ""991b421dfd401f115241601b2b373140a8d78572"", ""size"": 114786 } } } "; var jt = JToken.Parse(s); var fileHashPairs = jt.SelectTokens("$.objects").Children().OfType<JProperty>(). Select(x=> new KeyValuePair<string,string>(x.SelectToken("$..hash").ToString(),(x as JProperty).Name)).ToList(); // пары хэш-файл. } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д