Показать сообщение отдельно
  #5 (permalink)  
Старый 25.08.2014, 10:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,135

Сообщение от frying
по-хорошему должно быть glossary->GlossDiv->GlossList->GlossEntry->Id
Как вариант, для получения всех таких цепочек...

var objSample = {
	"glossary": {
		"title": "example glossary",
		"GlossDiv": {
			"title": "S",
			"GlossList": {
				"GlossEntry": {
					"ID": "SGML",
					"SortAs": "SGML",
					"GlossTerm": "Standard Generalized Markup Language",
					"Acronym": "SGML",
					"Abbrev": "ISO 8879:1986",
					"GlossDef": {
						"para": "A meta-markup language, used to create markup languages such as DocBook.",
						"GlossSeeAlso": ["GML", "XML"]
					},
					"GlossSee": "markup"
				}
			}
		}
	}
};
findProperty(objSample, 'SGML');
function findProperty(obj, propContentPart, History) {
	History=(History)? History: '';
	var val;
    for (var key in obj) {
        var value = obj[key];
        if (typeof value === 'object') {
			val=(History=='')? key: History+'->'+key;
            findProperty(value, propContentPart, val);
        } else {
            if (value.indexOf(propContentPart) > -1){
				val=(History=='')? key: History+'->'+key;
                alert(val);
            };
        };
    };
};
Ответить с цитированием