首页 > 解决方案 > jquery 返回未定义的读取 json

问题描述

使用以下代码,我正在尝试从链接中读取示例数据https://data.mo.gov/resource/hsus-bft8.json

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-3.4.1.js"
  integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
  crossorigin="anonymous"></script>
</head> 
<body>
    <script>
    $(document).ready(function(){
        $.getJSON("https://data.mo.gov/resource/hsus-bft8.json", function(data){
            document.write(data.licensee + "<br>");
            document.write(data.street_number);
        }).fail(function(){
            document.write("An error has occurred.");
        });
    });
    </script> 
</body>
</html>

但它只返回 2 个undefined字段。我在这里想念什么?

标签: jqueryjson

解决方案


这里你错过了循环,因为它是一个数组。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-3.4.1.js"
  integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
  crossorigin="anonymous"></script>
</head> 
<body>
    <script>
    $(document).ready(function(){
        $.getJSON("https://data.mo.gov/resource/hsus-bft8.json", function(data){
            var len = data.length;
            for(var i=0;i<len;i++){
                document.write(data[i].licensee + " : " );
                document.write(data[i].street_number + "<br/><br/>");
            }
            
        }).fail(function(){
            document.write("An error has occurred.");
        });
    });
    </script> 
</body>
</html>


推荐阅读