LINQ-to-Json или String-to-Json - PullRequest
0 голосов
/ 26 марта 2012

Мне нужно проанализировать строку json внизу, чтобы подстрока, представляющая дочерний элемент третьего уровня

,"Media":{"ImageName":"Winter Twinkle"}  

удалено.

Оригинал JSON:

[{
    "BusinessID"   : 1,
    "BusinessName" : "Artland Painters",
    "Category" : {
                    "ClassificationAlias" : "beauty-art",
                    "ClassificationName"  : "Beauty Art",
                    "Media"               : {
                                              "ImageName":"Winter Twinkle"
                                            }
                  }
}]

Спасибо за вашу помощь.

1 Ответ

2 голосов
/ 27 марта 2012

Вы можете использовать, например, Json.NET для этого.Сначала создайте объект из вашего json (я полагаюсь на предоставленный вами фрагмент json):

var obj = (JArray)JsonConvert.DeserializeObject(json);

Затем выполните итерацию по своему объекту, найдите свойство Category и его последний дочерний элемент:

var media = obj.Select(t => t["Category"].Last);

Затем удалите найденные узлы:

foreach (var item in media)
    item.Remove();

И, наконец, сериализуйте объект в строку:

var repairedJson = JsonConvert.SerializeObject(obj);

Это даст вам следующий результат:

[{"BusinessID":1,"BusinessName":"Artland Painters","Category":{"ClassificationAlias":"beauty-art","ClassificationName":"Beauty Art"}}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...