我有一个看起来像这样的JSON文件(data.json) - >
{
"level0": [
{"name": "brandon", "job": "web dev"},
{"name": "karigan", "job": "chef"}
],
"level1": [
{"name": "steve", "job": "father"},
{"name": "renee", "job": "mother"}
]
}
我有一个看起来像这样的HTML页面(index.html) - >
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type = "text/javascript">
function myAjax () {
$.ajax( { type : 'POST',
data : { },
url : 'printJSON.php', // <=== CALL THE PHP FUNCTION HERE.
success: function ( data ) {
console.log(data); // <=== VALUE RETURNED FROM FUNCTION.
},
error: function ( xhr ) {
alert( "error" );
}
});
}
</script>
</head>
<body>
<button onclick="myAjax()">Click here</button> <!-- BUTTON CALL PHP FUNCTION -->
</body>
</html>
这只是一个按钮,点击后,利用AJAX调用以下文件中的PHP函数(printJSON.php) - &gt;
<?php
function printJSON()
{
$str = file_get_contents('data.json');
$json = json_decode($str, true);
echo $json["level0"][0];
}
printJSON();
?>
现在,我已经研究了几个小时了......我仍然无法理解如何操作它以便从这个JSON对象中打印出我想要的内容。例如,这里我试图只显示level0的第一个元素,但我没有运气。如果有人能向我解释我做错了什么以及如何访问这个JSON对象的任何部分,我将不胜感激,谢谢。
答案 0 :(得分:2)
当你第一次处理一个新的json字符串时,最好用这个简单的代码来看看它在PHP中的样子
$s = '{
"level0": [
{"name": "brandon", "job": "web dev"},
{"name": "karigan", "job": "chef"}
],
"level1": [
{"name": "steve", "job": "father"},
{"name": "renee", "job": "mother"}
]
}';
$json = json_decode($s,true);
print_r($json);
结果
Array
(
[level0] => Array
(
[0] => Array
(
[name] => brandon
[job] => web dev
)
[1] => Array
(
[name] => karigan
[job] => chef
)
)
[level1] => Array
(
[0] => Array
(
[name] => steve
[job] => father
)
[1] => Array
(
[name] => renee
[job] => mother
)
)
现在你可以看到你有一个包含子数组的数组,每个子数组都包含一个子关联数组。所以你会从中选择项目
echo $json['level0'][0]['name'];
echo $json['level0'][0]['job'];