Чтение 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(); // пары хэш-файл.
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д