Задать вопрос
@run182

Как в c# сортировать json объекты?

Как сортировать этот объект, а так же вложенные?
{
    "30": {
       "3":{},
       "0":{}
    },
    "11":{}
}
  • Вопрос задан
  • 590 просмотров
Подписаться 1 Простой 1 комментарий
Решение пользователя run182 К ответам на вопрос (4)
@run182 Автор вопроса
Нашел такое решение:
public static void Main()
	{
		string json = @"{300:[{'Lygis':2,'Patiekalo_ID':30}],110:[{'Lygis':3,'Patiekalo_ID':31}]}";
		var jObj = (JObject)JsonConvert.DeserializeObject(json);
		Sort(jObj);
		string newJson = jObj.ToString();
		Console.WriteLine(newJson);
	}
	static void Sort(JObject jObj)
	{
		var props = jObj.Properties().ToList();
		foreach (var prop in props)
		{
			prop.Remove();
		}

		foreach (var prop in props.OrderBy(p=>Int32.Parse(p.Name)))
		{
			jObj.Add(prop);
			if(prop.Value is JObject)
				Sort((JObject)prop.Value);
		}
	}
Ответ написан
Комментировать