Ключи JSON в параметре - C#
Формулировка задачи:
И так, у нас есть некий файл:
Test.json
Выглядит он так:
Мне необходимо считать из objects все ключи (READ_ME_I_AM_VERY_IMPORTANT.txt, icons/icon_16x16.png и т.д.) в одну переменную, и все параметры "hash" этого ключа (0d000710b71ca9aafabd8f587768431d0b560b32, bdf48ef6b5d0d23bbb02e17d04865216179f510a) в другую. А также необходимо подсчитать количество всех ключей в "objects"
Обязательно необходимо использовать цикл
Желательно всё это сделать средствами библиотеки Newtonsoft.Json
Заранее спасибо!
Жду скорейшего ответа!
{ "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 } } }
Решение задачи: «Ключи JSON в параметре»
textual
Листинг программы
using System.Linq; using Newtonsoft.Json.Linq; 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 KeysCount = jt.SelectTokens("$..hash").Count(); //количество ключей var ObjectsKeys = jt.SelectTokens("$.objects").Children().OfType<JProperty>().Select(x=>(x as JProperty).Name); //имена всех элементов в objects } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д