JSFiddle - React, Tailwind, and code Playground

JavaScript

var test = {
    "data": {
        "location": {
            "type": "List",
            "count": 1,
            "items": [
                {
                    "id": 1,
                    "type": "S",
                    "address": {
                        "street": "123 Main St",
                        "city": "New York",
                        "state": "NY"
                    }
                },
                {
                    "id": 2,
                    "type": "S",
                    "address": {
                        "street": "1323 South St",
                        "city": "New York",
                        "state": "NY"
                    }
                }
            ]
        }
    }
};

var input = "data.location.type";
//var input = "data.location.items[1].address.street";
var parts = input.split('.');

var prev;
for(var i = 0; i < parts.length; i++){
    var index;
    if(parts[i].indexOf('[') != -1){
    	key = parts[i].substr(0, parts[i].indexOf('['));
        index = parseInt(parts[i].substr(parts[i].indexOf('[') + 1, 1), 10);
        if(!prev){
        	prev = test[key][index];
        } else {
        	prev = prev[key][index];
        }
    } else { 
	    if(!prev){
	        prev = test[parts[i]];
	    } else {
	        prev = prev[parts[i]];
	    }
	    
	    if(i === parts.length - 1){
	        alert(prev);
	    }
    }
}