Skip to content

Instantly share code, notes, and snippets.

@michiel
Created December 9, 2014 19:59
Show Gist options
  • Save michiel/617b674444a5f26bbda7 to your computer and use it in GitHub Desktop.
Save michiel/617b674444a5f26bbda7 to your computer and use it in GitHub Desktop.
Value from json path
function valueFromObjectPath(obj, path) {
var steps = path.split(/\//);
var val = obj;
while (steps.length) {
var key = steps.shift();
if (typeof(val[key]) !== 'undefined') {
val = val[ key ];
} else {
val = null;
break;
}
}
return val;
}
var obj = {
step1 : {
step2 : {
someFalseKey: false,
someTrueKey: true
}
}
};
console.log('value of step1/someKey ' + valueFromObjectPath(obj, 'step1/someKey')); // null
console.log('value of step1/step2/someKey ' + valueFromObjectPath(obj, 'step1/step2/someKey')); // null
console.log('value of step1/step2/someFalseKey ' + valueFromObjectPath(obj, 'step1/step2/someFalseKey')); // false
console.log('value of step1/step2/someTrueKey ' + valueFromObjectPath(obj, 'step1/step2/someTrueKey')); // true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment