JSONSelect
CSS-like selectors for JSON - http://jsonselect.org
by molokoloco
HTML
<script src="https://github.com/lloyd/JSONSelect/raw/master/src/jsonselect.js"></script>
CSS
p {
font:12px Arial;
border:1px solid grey;
padding:3px;
margin:3px;
}
JavaScript
/*
Json as easy as SQL ??? RT @lloydhilaiel JSONSelect - CSS-like selectors for JSON - http://jsonselect.org
Testing...
*/
var jsonData = {
"name": {
"first": "Lloyd",
"last": "Hilaiel"
},
"favoriteColor": "yellow",
"languagesSpoken": [
{
"language": "Bulgarian",
"level": 2},
{
"language": "English",
"level": 1},
{
"language": "Spanish",
"level": 7}
]
};
var selector = '.name > *'; // xPath CSS like selector
try {
var resultObj = JSONSelect.match(selector, jsonData);
console.log(typeof resultObj);
console.log(resultObj);
console.log('- - - - -');
JSONSelect.forEach(selector, jsonData, function(resultObj) {
console.log(typeof resultObj);
console.log(resultObj);
console.log('- - - - -');
$('body').append('<p>' + $.trim(JSON.stringify(resultObj, null, ' ')) + '</p>');
});
} catch(e) { console.log(e); }