Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何打开json文件并访问其对象_Javascript_Jquery_Json - Fatal编程技术网

Javascript 如何打开json文件并访问其对象

Javascript 如何打开json文件并访问其对象,javascript,jquery,json,Javascript,Jquery,Json,我的json文件result.json如下所示: { "employees":[ {"firstName":"John","lastName":"Doe" }, {"firstName":"Anna","lastName":"Smith" }, {"firstName":"Peter","lastName":"Jones" }] } 在我的html文件中,我试图使用jQuery访问json文件中的一个对象,即一个人,并显示一些对象数据 <!DOCTYPE html

我的json文件result.json如下所示:

{
"employees":[
    {"firstName":"John","lastName":"Doe" },
    {"firstName":"Anna","lastName":"Smith" },
    {"firstName":"Peter","lastName":"Jones" }]
}
在我的html文件中,我试图使用jQuery访问json文件中的一个对象,即一个人,并显示一些对象数据

<!DOCTYPE html>
<html>
<body>
<head>
    <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>

<p id="demo"></p>

<script>
    var obj;
    $.getJSON("http://insyn.local:666/result.json", function(json){
        obj = json;
    });
    document.getElementById("demo").innerHTML =
    obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>

</body>
</html>

var-obj; $.getJSON(“http://insyn.local:666/result.json,函数(json){ obj=json; }); document.getElementById(“demo”).innerHTML= obj.employees[1]。名字+“”+obj.employees[1]。姓氏;

但这只给了我一个错误“UncaughtTypeError:无法读取未定义的属性'employees'。我缺少什么?

尝试在回调中执行html操作:

<!DOCTYPE html>
<html>
<body>
<head>
    <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>

<p id="demo"></p>

<script>
    var obj;
    $.getJSON("http://insyn.local:666/result.json", function(json){
        obj = json;
        document.getElementById("demo").innerHTML =
        obj.employees[1].firstName + " " + obj.employees[1].lastName;
    });

</script>

</body>
</html>

var-obj; $.getJSON(“http://insyn.local:666/result.json,函数(json){ obj=json; document.getElementById(“demo”).innerHTML= obj.employees[1]。名字+“”+obj.employees[1]。姓氏; });
由于JS的异步性质,您需要将
innerHTML
语句放入
getJSON
调用的回调函数中。否则,innerHTML将在返回结果之前运行。
$.getJSON
是一个异步调用,在尝试将其插入DOM时可能尚未完成