2012-06-18 3 views
0

Из следующих JSON фрагмент кода:Извлечение конкретных данных из JSON с помощью JQuery

cbfunc22({ 
    query: { 
    count: 2, 
     created: "2012-06-18T11:18:15Z", 
     lang: "en-US", 
     results: { 
     tbody: [{ 
      tr: [{ 
       class: "day", 
       td: [{ 
        class: "dayname", 
        p: "Monday" 
        }, 
        { 
        class: "weather", 
        p: "Sunny Intervals" 
        }, 

можно извлечь Monday с помощью JQuery следующим образом:

data.query.results.tbody[0].tr[0].td[0].p

Как извлечь Sunny Intervals?

+0

'data.query.results.tbody [0] .tr [0] .td [1] .p' http://jsfiddle.net/joycse06/RYdvs/ –

+1

T шляпа не JSON. (Учитывая синтаксис функции в начале, возможно, это возвращение вызова jsonp?). Вы должны быть осторожны с объектными литералами, у которых есть некотируемые имена свойств, если вы собираетесь включать имена («класс»), которые являются зарезервированными словами JS. – nnnnnn

ответ

0

Просто используйте:

data.query.results.tbody[0].tr[0].td[1].p 

Если отступы ваш код правильно решение является более очевидным:

cbfunc22(
{ 
    query: { 
     count: 2, 
     created: "2012-06-18T11:18:15Z", 
     lang: "en-US", 
     results: { 
      tbody: [ 
        { 
         tr: [ 
           { 
            class: "day", 
            td: [ 
             { 
               class: "dayname", 
              p: "Monday" 
             }, 
             { 
              class: "weather", 
              p: "Sunny Intervals" 
             }, 
0

td является массивом, поэтому индекс 0 дает первый элемент, индекс 1 дает второе:

data.query.results.tbody[0].tr[0].td[1].p 

и так далее ...

0

td[0] для понедельник так td[1] для Солнечный Интервалы и так далее

так Sunny Интервалы могут быть извлечены,

data.query.results.tbody[0].tr[0].td[1].p 
Смежные вопросы