2015-06-30 3 views
0

Мне был предоставлен следующий формат JSON, и мне сложно найти информацию. Я хочу поместить его в таблицу данных.Доступ к данным в чужом форматированном файле JSON в JavaScript

"data": { 
     "HeadingOne":{ 

     "Columns":["Row1", "Row2"], 
     "Data":[["firstData", "secondData"]] 

    } 

} 

Я сказал, что я должен быть в состоянии получить доступ к этим данным, но я не имею абсолютно никакого понятия, как добраться до «FirstData» в DataTables. (От datatables.net) Это то, что я попытался

$(document).ready(function() { 
    $('#example').dataTable({ 
     "ajax": "<%= request.getContextPath()%>/ajax/mastermenu.txt", 
     "columns":[ 
      {"data": "HeadingOne.Data.Row1"}   
      ] 
    }); 
}); 

HTML:

<table id="example" class="display" cellspacing="0" width="100%"> 
     <thead> 
      <tr> 
       <th>Row1</th> 
       <th>Row2</th> 
      </tr> 
     </thead> 
</table> 
+1

Этот json недействителен – Jhonathan

+3

Это недопустимый JSON, объект не закрыт должным образом. –

+0

Не хватает '}', это часть JSON? –

ответ

4

Как уже отмечалось, Вы пропускаете } в конце. После того, как вы исправите это, это должно сработать.

Предполагая, что объект называется data, это поможет вам "firstData"

console.log(data.HeadingOne.Data[0][0]); // "firstData" 
+0

Это работает, но я не могу понять, как работать с ним в Datatables. Я не думаю, что это то, что вы понимаете. – GuyA

0

Yeuch. Но:

var data = { 
    "HeadingOne":{ 
     "Columns":["Row1", "Row2"], 
     "Data":[ 
       ["firstData", "secondData"] 
       ] 
    } 
} 
var firstData = data['HeadingOne']['Data'][0][0] 

Примечание: я должен был добавить окончательный } к этому блоку в противном случае он не был действительным

Если вы пытаетесь получить доступ к FirstData по имени, мы надеемся, что это очевидно, что он выиграл» t, поскольку он содержится в массиве внутри массива (следовательно, [0][0]).

Смежные вопросы