Próbuję parsować plik json za pomocą json.net. Plik wygląda tak, jak próbuję zrekrutować tę strukturę przetwarzającą wszystkie obiekty z atrybutem Title. Ale jestem zdezorientowany około JToken
, JProperty
, JContainer
, JValue
, , JValue
, . Czytanie kodu źródłowego nie pozostawiło mnie znacznie mądrzejszego i żadna z próbek nie pomoże. Chcę coś na wzór:Jak wykonać rekursywne zejście jsona za pomocą json.net?
WalkNode(node, Action<Node> action)
{
foreach(var child in node.Children)
{
Action(child);
WalkNode(child);
}
}
Parse()
{
WalkNode(root, n=>
{
if(n["Title"] != null)
{
...
}
});
}
Niektóre pytania: Powyższy przykład jest nieprawidłowy JSON. Czy obiekty zawierające właściwości X i Y powinny znajdować się w tablicy, czy też zamierzałeś, aby X i Y znajdowały się w tym samym obiekcie zawierającym? Czy w hierarchii JSON będą znajdować się tablice, które musisz przemierzyć, czy też są to tylko zagnieżdżone obiekty i właściwości? –