2017-10-08 30 views
0

我已经为整个下午的解决方案刷新了stackoverflow和其他论坛,并且我承认失败。任何帮助将不胜感激请与此:从HTML中显示简单的JSON字符串

我有一个Google Drive电子表格,我必须通过第三方URL将数据导出为JSON。数据看起来像这样...

{"columns":{"attendance":["Bob, Sue, Sam, Joe, "]},"rows":[{"attendance":"Bob, Sue, Sam, Joe, "}]} 

我不知道为什么我从表格导出重复,但我相信我可以忽略这一点。我只想在HTML页面上输出一次名称列表,以便我可以将其与我已设置的数字标牌解决方案一起使用。名称会定期更改,因此我通过URL提供的原因。我最好的解决方案(而且很糟糕!)是:

<object type="text/html" data="http://gsx2json.com/api?id=SHEET_URL_GOES_HERE"> 
</object> 

我想解析它,但是要去除除名称以外的所有内容。提前致谢。

+0

你想达到什么样的快感? HTML不是JSON能力,除非你只是想把它作为一个字符串,所以我不明白你的对象标记的目的。 – Plotisateur

+0

我用JavaScript试过并没有任何地方,所以我试图用HTML对象来刮取数据。我对此的认识是可怕的。我可以在HTML和JavaScript中进行一些尝试,但是我不能走得太远。 –

+0

好的没有问题,作为一个猜测,你然后只是想用“出席”值填充HTML表格? – Plotisateur

回答

0

谢谢你的回应。我到了那里,并认为我会张贴我的解决方案,以防止其他人:

<html> 
<head> 

<meta http-equiv="refresh" content="60"> 

</head> 

<script> 

window.onload = loadDoc() 

function loadDoc() { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
    var myObj = JSON.parse(this.responseText); 
    var jout = JSON.stringify(myObj.columns.attendance); 

    var joutstrip2 = jout.substring(2, jout .length-4); 
    document.getElementById("dataout").innerHTML = (joutstrip2) 
    } 
    }; 
    xhttp.open("GET", "http://gsx2json.com/api?id=GOOGLE_SHEETS_ID_GOES_HERE_&sheet=1", true); 
    xhttp.send(); 
} 

</script> 

<div id="dataout"></div> 

</body> 
</html>