¿Cómo obtendría una ruta JSON para todos los nodos secundarios en una matriz de objetos JSON?

¿Cómo obtendría una JSONPath para todos los nodos secundarios de un objeto?

P.ej.:

var data = [{
    "key1": {
        "children": [{
            "key2": "value",
            "key3": "value",
            "key4": {}
        }, {
            "key2": "value",
            "key3": "value",
            "key4": {}
        }],
        "key5": "value"
    }
}, {
    "key1": {
        "children": {
            "key2": "value",
            "key3": "value",
            "key4": {}
        },
        "key5": "value"
    }
}]

Quiero obtener una ruta absoluta para todos los nodos en la estructura de datos como una matriz:

[
    "data[0]['key1']['children'][0]['key2']", 
    "data[0]['key1']['children'][0]['key3']", 
    "data[0]['key1']['children'][0]['key4']", 
    ......, 
    "data[0]['key1']['children'][1]['key2']",
    ......., 
    "data[1]['key1']['children']['key2']",
    ..........
]

¿Hay alguna manera de hacer esto en JS?

Respuestas a la pregunta(2)

Su respuesta a la pregunta