2017-01-24 2 views
0

Я пробовал несколько вариантов кода ниже, чтобы заполнить таблицу html данными json. Я ограничил ответ api на 1 в попытке упростить. Данные json, похоже, сильно вложены, но я не знаю, как на самом деле разбирать и отображать данные. Любые идеи о том, что я делаю неправильно? В начале я просто хочу показать «имя».Неспособность заполнить таблицу html с ответом json от вызова api

Вот ответ:

{"list":[{"id":31,"name":".Scala_Test_Player 0696GS (RMS09061606)","uuid":"a363ef6c-4ea0-4835-bd98-03b27e9139fc","previewPlayer":false,"enabled":true,"mac":"00-00-00-00-00-00","type":"CHROMEBOX","distributionServer":{"id":2,"name":"Main","driver":"IP_P2P"},"playergroups":[{"id":2,"name":"GameStop","numberOfPlayers":24}],"playerDisplays":[{"id":31,"name":"Display 1","channel":{"id":51,"name":"Test Channel 2 videos"},"screenCounter":1}],"requestLogs":false,"downloadThreads":1,"unusedFilesCache":24,"planDeliveryMethod":"CONTENT_MANAGER_DIRECT","pollingInterval":1,"pollingUnit":"MINUTES","logLevel":"normal","metadataValue":[{"id":551,"value":"12","playerMetadata":{"id":18,"name":"Player.ScreenOnOff_Model","datatype":"STRING","valueType":"PICKLIST","order":2,"predefinedValues":[{"id":7,"value":"SONYFWD-40LX2F","sortOrder":1},{"id":8,"value":"NECLCD4215","sortOrder":2},{"id":10,"value":"PANASONIC","sortOrder":3},{"id":11,"value":"PHILIPS","sortOrder":4},{"id":12,"value":"SAMSUNG","sortOrder":5}]}},{"id":457,"value":"21:15","playerMetadata":{"id":10,"name":"Player.ScreenOff_Wednesday","datatype":"STRING","valueType":"ANY","order":11}},{"id":548,"value":"09:00","playerMetadata":{"id":12,"name":"Player.ScreenOn_Monday","datatype":"STRING","valueType":"ANY","order":6}},{"id":455,"value":"21:00","playerMetadata":{"id":7,"name":"Player.ScreenOff_Sunday","datatype":"STRING","valueType":"ANY","order":5}},{"id":546,"value":"09:05","playerMetadata":{"id":11,"name":"Player.ScreenOn_Friday","datatype":"STRING","valueType":"ANY","order":14}},{"id":547,"value":"21:15","playerMetadata":{"id":4,"name":"Player.ScreenOff_Friday","datatype":"STRING","valueType":"ANY","order":15}},{"id":453,"value":"100","playerMetadata":{"id":2,"name":"Player.ChromeVolume","datatype":"INTEGER","valueType":"ANY","order":3}},{"id":456,"value":"09:05","playerMetadata":{"id":17,"name":"Player.ScreenOn_Wednesday","datatype":"STRING","valueType":"ANY","order":10}},{"id":550,"value":"13","playerMetadata":{"id":25,"name":"Player.Screen_Input","datatype":"STRING","valueType":"PICKLIST","order":24,"predefinedValues":[{"id":15,"value":"DP","sortOrder":1},{"id":16,"value":"DVI","sortOrder":2},{"id":34,"value":"HD15","sortOrder":3},{"id":13,"value":"HDMI1","sortOrder":4},{"id":14,"value":"HDMI2","sortOrder":5},{"id":17,"value":"PC","sortOrder":6}]}},{"id":549,"value":"21:05","playerMetadata":{"id":5,"name":"Player.ScreenOff_Monday","datatype":"STRING","valueType":"ANY","order":7}},{"id":454,"value":"00:00","playerMetadata":{"id":14,"name":"Player.ScreenOn_Sunday","datatype":"STRING","valueType":"ANY","order":4}}],"usedPairingKey":"R3Y4N2","active":"HEARTBEAT_OVERDUE","lastModified":"2016-12-20 18:26:27"}],"offset":0,"count":36} 

HTML:

<table> 
<tbody id="scalaapi"> 
<tr><td></td></tr> 
</tbody> 
</table> 

Сценарий:

function jsonData() 
{ 

$.ajax({ 
    type:'GET', 
    url:"https://avacmd25.scala.com:44335/ContentManager/api/rest/players?limit=1&offset=0&sort=name", 
    datatype:'json', 
    success:function(data) 
    { 
     var jdata=$.parseJSON(data); 
     $(function(){ 
      $.each(jdata,function(i,item){ 
       var tr = $('<tr>').append(
       $('<td>').text(list.name),    
      $("#scalaapi tbody").append(tr)); 
      }) 
     }) 

    } 
}) 
} 
+0

Там нет '' list.name' здесь $ ('') .text (list.name) '. Это может быть «item.name» –

+0

Сначала я попробовал имя item.name, он также не работал. – KevMoe

ответ

1

Вы реализуете .append в неверном пути и выбора tbody также кажется неправильным.

Если у вас есть надлежащий ответ, как указано, попробуйте это в вашем success обратного вызова

success: function(data) { 
    var list = data.list; 
    $.each(list, function(i, item) { 
    var tr = $('<tr>').append($('<td>').text(item.name)); //taking name 
    $("#scalaapi").append(tr); 
    }); 
} 
+0

Отлично, спасибо – KevMoe