проблема парсинга json с помощью jquery
У меня есть вот такой json
var p =
{
"person" : {
"Names" : {
"Jane" :1,
"Max" :0,
"Julia" :1,
"Anton" :0
},
"Snames" : {
"King" :1,
"Palmer" :0,
"Eshton" :1,
"Rits" :0
},
}
};
я хочу его спарсить у меня есть список раскрывающийся <ul> <li>Names</li> <li>Snames</li> </ul> я хочу сделать чтоб когда счелкаю на <li>Names</li> подгружались данные из json для Names. Сейчас у меня вот такой вот код, но он не работает ((
$("ul li").live('click', function(){
var txt = $(this).text();
console.log(p.person.txt);
});
пишет что "undefined" (( Подскажите плизз как решить проблемку! |
Цитата:
var p = {
"person" : {
*!*txt: 'test',*/!*
"Names" : {
"Jane" :1,
"Max" :0,
"Julia" :1,
"Anton" :0
},
};
И это не json. |
|
Цитата:
|
Цитата:
Проверку на валидность уж точно прошел ;)
{
"person": {
"Names": {
"Jane": 1,
"Max": 0,
"Julia": 1,
"Anton": 0
},
"Snames": {
"King": 1,
"Palmer": 0,
"Eshton": 1,
"Rits": 0
}
}
}
|
Цитата:
|
а как можно сделать чтоб не было этого undefined и чтоб я все таки мог через список li подгружать данные?
|
p.person[txt]
|
Большое спасибо!
Заработало ;) |
Цитата:
http://ru.wikipedia.org/wiki/JSON |
Цитата:
В моем понимании, говорить о JSON имеет смысл в контексте обмена данными. Вне этого контекста JSON'а нету, а есть объекты, примеры которых мы и наблюдаем выше. |
var p = {
"person": {
"Names": {
"Jane": {
"Age" : 1,
"Height" : 1
},
"Max": {
"Age" : 1,
"Height" : 1
},
"Julia": 1,
"Anton": 0
},
"Snames": {
"King": 1,
"Palmer": 0,
"Eshton": 1,
"Rits": 0
}
}
}
подскажите плизз еще как вывести Jane Age? можно вывести напрямую p.person.Names.Jane а мне нужно через переменную опять вывести p.person и плюс переменная к примеру data в которой и будут Names.Jane Заранее спасибо за помощь! |
квадратные скобки, как в предыдущем случае
|
да спасиб ;) туго доходит до меня ))
|
Цитата:
Цитата:
|
Внимательно прочитал , повторил и возник вопрос_ как добывать паренты и чилдрены из Джейсона типа
var parent=p.find(Eshton).parent() alert(parent(text)// должен вывести person)? исходник предыдущего поста var p = { "person": { "Names": { "Jane": 1, "Max": 0, "Julia": 1, "Anton": 0 }, "Snames": { "King": 1, "Palmer": 0, "Eshton":341, "Rits": 0 } } } А еще_по индексу можна искать типа var ind=Snames.index() alert(ind) // а такое_ var kazdiy= person(':nth(2)').val() alert(kazdiy) ,а САМОЕ главное_ вывести НАЗВАНИЯ заголовков"Names" , "Jane" и тд и как оно называеться есть ли такие же аналоги как в Квери по поиску в доме,но только для контента Джейсона ? Я проверял XML _ ОТЛИЧНО все работает !Даже фильтры индексов!!! А Джейсон то,Джейсон как заставить работать аналогично ? Вот xml <script type="text/javascript"> $(document).ready(function(){ // по завершению загрузки страницы $('#example-3').click(function(){ // alert('rttyy') // вешаем на клик по элементу с id = example-3 $.post('example.xml', {}, function(xml){ // загрузку XML из файла example.xml $(xml).find('note').each(function(){ // заполняем DOM элемент данными из XML $('#example-3').append('To: ' + $(this).find('*:nth(4)').text() + '<br/>') }); }, 'xml'); // указываем явно тип данных }) }); </script> <div id='example-3' >fff</div> файл____ <?xml version="1.0" encoding="UTF-8"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> </body> |
| Часовой пояс GMT +3, время: 02:08. |