解析javascript中API返回的复杂JSON数据编辑:它与PHP一起使用!代码已添加

GB新手

用PHP代码编辑:这有效

$json_url = "https://httpapi.com/api/products/reseller-price.json?auth-userid";

$ch = curl_init();

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

curl_setopt($ch, CURLOPT_URL, $json_url);

$str = curl_exec($ch);

$ar = json_decode($str,true);


echo $ar['domcno'][0]['pricing']['addnewdomain'][1];

以下javascript无效!

var xmlhttp = new XMLHttpRequest();

var url = "https://httpapi.com/api/products/reseller-price.json?5&api-key=";

xmlhttp.onreadystatechange=function()                        
{ 
    if(xmlhttp.readyState==4 && xmlhttp.status==200)                              
    {   
        myFunction(xmlhttp.responseText);           
    }
}
xmlhttp.open("GET",URL,true);
xmhttp.send();


function myFunction(response)                                                                               
{
    var arr = JSON.parse(response);
    var i;
    var out = "<table>";

现在从这里开始,我必须解析json数据,然后将其显示在表格中

Json数据样本如下所示:

{"dotpoker":{"privacy-protection":"0.0","0":{"pricing":{"addtransferdomain":{"1":"2494.69"},"restoredomain":{"1":"6653.79"},"addnewdomain":{"1":"2494.69"},"renewdomain":{"1":"2494.69"}},"category":{"category3":{"name":"NA","quantity":"0.00"},"category2":{"name":"NA","quantity":"0.00"},"category1":{"name":"receipts","quantity":"0.00"},"category6":{"name":"NA","quantity":"0.00"},"category5":{"name":"NA","quantity":"0.00"},"category4":{"name":"NA","quantity":"0.00"}}}},"dottires":{"privacy-protection":"0.0","0":{"pricing":{"addtransferdomain":{"1":"5475.39"},"restoredomain":{"1":"9634.39"},"addnewdomain":{"1":"5475.39"},"renewdomain":{"1":"5475.39"}},"category":{"category3":{"name":"NA","quantity":"0.00"},"category2":{"name":"NA","quantity":"0.00"},"category1":{"name":"receipts","quantity":"0.00"},"category6":{"name":"NA","quantity":"0.00"},"category5":{"name":"NA","quantity":"0.00"},"category4":{"name":"NA","quantity":"0.00"}}}}

从上面开始,我只需要在网页的html表中显示域名:“ dotpoker”和价格"addtransferdomain" , "renewdomain" , "addnewdomain",因此有四列和一些选定的域名。

请帮助我并提供指导,尽管经过了如此多的json查询和代码示例,但我仍然受困。

谢谢

PS:如果有办法用PHP做到这一点,请告诉我

另外,当我在http://json.parser.online.fr/上对其进行解析时,它向我展示了一个结构,如果有人可以检查并指导我如何获取所需的数据。

利亚姆c

根据您的示例/当前方法,我已经完全重新设计了答案。如果您不熟悉JS,则无需走DataTables路线。

    <!DOCTYPE html>
<html>

<body>

<h1>Customers</h1>
<div id="id01"></div>

<script>
var xmlhttp = new XMLHttpRequest();
var url = "https://httpapi.com/api/products/reseller-price.json?5&api-key=";

xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        myFunction(xmlhttp.responseText);
    }
}
xmlhttp.open("GET", url, true);
xmlhttp.send();

function myFunction(response) {
    var arr = JSON.parse(response);
    var key;

    //add table header
    var out = "<table style=\"border: 1px solid black;\">";
    out += "<thead><Domain><th>Add/Transfer Domain</th><th>Restore Domain</th><th>Add New Domain</th><th>Renew Domain</th></thead><tbody>";

    //loop through json keys and grab data
    for(key in arr) {
      if(arr.hasOwnProperty(key)) {

        out += "<tr><td>" +
        key +
        "</td><td>" +
        arr[key][0].pricing.addtransferdomain[1] +
        "</td><td>" +
        arr[key][0].pricing.restoredomain[1] +
        "</td><td>" +
        arr[key][0].pricing.addnewdomain[1] +
        "</td><td>" +
        arr[key][0].pricing.renewdomain[1] +
        "</td></tr>";

      }
    }

    out += "</tbody></table>";

    //put out string in defined div
    document.getElementById("id01").innerHTML = out;
}
</script>

</body>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我应该如何修改此代码,以便它与严重ID一起使用?

用“。”输入双精度数字。返回错误。它与“,”一起使用

Javascript修改/转换代码,该代码读取数组以与对象数据一起使用

解析两个json数据并一起显示

jQuery无法与Ajax返回的代码一起使用

当Angulars $ http.post与大型/复杂json数据集一起使用时,Internet Explorer 11崩溃

Spring Boot Rest API返回与Lombok一起使用的空JSON

在shapefile中查找指向该点的多边形属于...为什么它与某些shapefile一起使用,而不与其他文件一起使用?

将json对象数据与标题一起添加到表中

在与ggmap一起使用的数据中添加一列

使用python递归解析复杂的api json数据

来自 API 的 JavaScript 中的 JSON 复杂数组解析

VBA代码在Excel中无法与数据集一起使用

保存JSON无法与代码一起使用

将Outlook 2003与Word编辑器一起使用,但已安装Office 2007

POSTGRES 错误:INTO 与无法返回数据的命令一起使用

PHP中的Htaccess重写模式无法与此代码一起使用

如何在类中与Web Worker一起使用异步javascript代码

代码与终端中的节点一起使用时,JavaScript文件无法工作

Tree JavaScript代码无法与Internet Explorer一起使用

在Rails中将外部API与JSON数据一起使用的入门

在ASP.NET Web API 2中,当与Azure存储中的流一起使用时,ByteRangeStreamContent返回不正确的数据

如何在与脚本一起使用以更改类的已检查输入列表中添加“取消全选”按钮

使用cURL检索与jQuery一起使用的JSON数据

解析复杂的json代码

如何重写代码以将IAuthorizationFilter与依赖项注入一起使用,而不是将Asize Net Web Api中具有服务位置的AuthorizeAttribute一起使用?

将indexOf()与API数据一起使用受变量中字符串顺序的影响

如何将x可编辑插件与meanjs yeoman生成的代码一起使用?

我可以将SSH vi代码编辑器与phpseclib一起使用吗?