JS Object properties

Dynamically access properties of an object

by Trent Haynes

JavaScript

var sample = function (){
    var myJson = {
          "id" : "http://application.nw.com/address",
          "$schema": "http://json-schema.org/draft-04/schema",
          "type" : "object",
          "properties":{
          "AddressLine1" :{"type":"string" , "maxLength":62},
          "AddressLine2" :{"type":"string" , "maxLength":62},
          "city" :{"type":"string" , "maxLength":62},
          "state" :{"type":"string" , "maxLength":5}
        },
        "required": ["AddressLine1", "city"]
    }

    // I get the path from an external source.
    var path = "$.properties.state.maxLength";
		var p1 = "properties";
    var p2 = "state";
		
    path = path.substring('$.'.length);
    console.log(path);          // log = properties.state.maxLength
    console.log(myJson["properties"]["state"]["maxLength"]);
    console.log(eval('myJson.' + path + ';'));
    console.log(myJson[p1]);
    console.log(myJson[p1][p2])
    
}

sample();