Я смотрел на JSONPath, и хотя это выглядит довольно хорошо, мне интересно, кто-нибудь работал с ним и может прокомментировать его удобство использования или может порекомендовать альтернативы? Что было бы очень гладко, если бы был JQuery плагин, который сделал что-то вроде этого. Я искал плагины и подходил с пустыми руками. Во всяком случае, прежде чем я проведу время, узнаю JSONPath (у которого есть некоторые аспекты, которые я не увлекаюсь), или до того, как я изобретаю колеса, я думал, что посмотрю, есть ли у кого-то угол на этом...
Чтобы дать вам представление о том, что я имею в виду, представьте этот объект Javascript:
var Characters=[
        {
            id: "CuriousGeorge",
            species:"Monkey",
            mood: "curious",
            appendage: [
                { 
                    type: "hand",
                    side: "left",
                    holding: [ 
                        { id: "Banana" } 
                    ]
                },
                { 
                    type: "hand",
                    side: "right",
                    holding: []
                }, 
                { 
                    type: "foot",
                    side: "left",
                    holding: []
                },
                { 
                    type: "foot",
                    side: "right",
                    holding: [ 
                        { id: "YellowHat" },
                        { id: "Keys" }
                    ]
                }
            ]
        },
        {
            id: "ManInYellowHat",
            species: "Human",
            mood: "angry",
            //...ok, you get it...
        }
    ]
Не было бы здорово добраться до некоторых более глубоких объектов чем-то вроде селекторов JQuery?
var banana=SomeUtility("Characters holding #Banana").get(0);
var leftHands=SomeUtility("Characters appendage[type=hand][side=left]").get();
(Это может претендовать на пример самого сильного кода мира, но, эй, мои дети просто смотрели это. И я не могу использовать реальный пример из-за NDA...)
... И, чтобы сделать его более интересным, если бы я создал такое, кто-нибудь его использовал бы?