List> serialize to JObject - C#
Формулировка задачи:
Добрый день. Еть следующая задачка.
имеется список
полный данными из JSON
выполнено следующим образом
так вот data, после некоторых изменений надо загнать обратно в json, не нарушив структуру. подскажите пожалуйста.
1 значение, которое должно быть ключем, идет как обычная составляющая
а надо чтобы title был ключем
List<Dictionary<string, string>> data = new List<Dictionary<string, string>>();
string filename = "translates.json"; var s = File.ReadAllText(System.IO.Path.Combine(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), filename)); // parsing json var json = JObject.Parse(s); foreach (var obj in json.Properties()) { var row = new Dictionary<string, string>(languages.Count + 1); row["title"] = obj.Name; foreach (var language in languages) { row[language] = obj.Value[language].ToString(); } data.Add(row); }
попытался, попытка не увенчалась успехом
string json = JsonConvert.SerializeObject(data, new KeyValuePairConverter()); File.WriteAllText(@"blahblah.json", json);
получается вот такое
[ { "title": "test", "en": "asdsadsadas", "ru": "123654789", "tr": "123654789" }, { "title": "mama", "en": "Mama", "ru": "*Mama", "tr": "*Mama" }, { "title": "get_some_desc", "en": "Get some desc", "ru": "*Get some desc", "tr": "*Get some desc" }, { "title": "fraze_for_translate", "en": "Fraze for translate", "ru": "*Fraze for translate", "tr": "*Fraze for translate" } ]
{ "test":{ "en": "asdsadsadas", "ru": "123654789", "tr": "123654789" }, "mama":{ "en":"Mama", "ru":"*Mama", "tr":"*Mama" }, "get_some_desc":{ "en":"Get some desc", "ru":"*Get some desc", "tr":"*Get some desc" }, "fraze_for_translate":{ "en":"Fraze for translate", "ru":"*Fraze for translate", "tr":"*Fraze for translate" } }
Решение задачи: «List> serialize to JObject»
textual
Листинг программы
using System; using System.Collections.Generic; using Newtonsoft.Json; class Program { static void Main(string[] args) { string s = @"{ ""test"": { ""en"": ""Test"", ""ru"": ""*Test"", ""tr"": ""*Test"" }, ""mama"": { ""en"": ""Mama"", ""ru"": ""*Mama"", ""tr"": ""*Mama"" }, ""get_some_desc"": { ""en"": ""Get some desc"", ""ru"": ""*Get some desc"", ""tr"": ""*Get some desc"" }, ""fraze_for_translate"": { ""en"": ""Fraze for translate"", ""ru"": ""*Fraze for translate"", ""tr"": ""*Fraze for translate"" } }"; var json = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, string>>>(s); foreach (string key in json.Keys) { Console.WriteLine("Key = {0}", key); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д