{
"path": null,//should be calculated back as: "photos"
"size": 600,
"type": "directory",
"children": [
{
"path": null,//it should be calculated as: "photos/summer"
"size": 400,
"type": "directory",
"children": [
{
"path": null,//should be calculated as :"photos/summer/june"
"size": 400,
"type": "directory",
"children": [
{
"path": "photos/summer/june/windsurf.jpg",
"name": "windsurf.jpg",
"size": 400,
"type": "file",
"extension": ".jpg"
}
]
}
]
},
{
"path": null,//should be calculated as: "photos/winter"
"size": 200,
"type": "directory",
"children": [
{
"path": null,// should be calculated as: "photos/winter/january"
"size": 200,
"type": "directory",
"children": [
{
"path": "photos/winter/january/ski.png",
"name": "ski.png",
"size": 100,
"type": "file",
"extension": ".png"
},
{
"path": "photos/winter/january/snowboard.jpg",
"name": "snowboard.jpg",
"size": 100,
"type": "file",
"extension": ".jpg"
}
]
}
]
}
]
}
Существует JSON, который представляет структуру каталогов. Все свойства «file» в json имеют абсолютный путь, назначенный свойству «path». Но в каждом подкаталоге / каталогах отсутствует значение «путь». Каждым подкаталогам с path = null необходимо назначить путь на основе самого глубокого дочернего элемента (type = "file"), для которого определен абсолютный путь. (Ожидаемый результат комментируется как //, его следует вычислять как: )
Я пробовал итеративный подход, но проблема в том, что я должен пройти json от глубины до вершины (то есть, самые глубокие дети к родителю). Кто-нибудь может порекомендовать более чистый подход?