如何使用PHP获取JSON的部分内容
从一个URL我得到了一个JSON,稍后我将显示一段。我试图用一些PHP从这个JSON中提取信息。这就是我到目前为止所拥有的:如何使用PHP获取JSON的部分内容,php,json,Php,Json,从一个URL我得到了一个JSON,稍后我将显示一段。我试图用一些PHP从这个JSON中提取信息。这就是我到目前为止所拥有的: $url = 'https://www.anwb.nl/feeds/gethf'; $result = file_get_contents($url); $array = json_decode($result, TRUE); echo $array[1]['roadEntries'][0]['road']; JSON url包含交通堵塞信息,以及路障之类的东西。对
$url = 'https://www.anwb.nl/feeds/gethf';
$result = file_get_contents($url);
$array = json_decode($result, TRUE);
echo $array[1]['roadEntries'][0]['road'];
JSON url包含交通堵塞信息,以及路障之类的东西。对于我的网站,我试图回应所有的交通堵塞。为了回应一些信息,我试图回应第一条发生交通堵塞的道路,但我什么也没有得到。我在网上找到的大多数例子都比这里简单,所以说实话,我不知道如何解决这个问题
下面是一段de-JSON代码:
{
"dateTime": "20180307, 23:35",
"roadEntries": [
{
"road": "A1",
"roadType": "aWegen",
"events": {
"trafficJams": [],
"roadWorks": [
{
"msgNr": "114452273",
"from": "afrit Soest",
"fromLoc": {
"lat": 52.22478,
"lon": 5.25528
},
"to": "afrit Soest",
"toLoc": {
"lat": 52.22478,
"lon": 5.25528
},
"location": "A1 Amsterdam richting Amersfoort",
"segStart": "Amsterdam",
"segEnd": "Amersfoort",
"start": "2018-03-07T19:00:00",
"startDate": "7 March 2018 20:00 uur",
"stop": "2018-03-08T04:30:00",
"stopDate": "8 March 2018 05:30 uur",
"reason": "De op- en afrit is dicht. Van 7 March 2018 20:00 uur tot 8 March 2018 05:30 uur.",
"description": "Bij afrit Soest. De op- en afrit is dicht. Van 7 March 2018 20:00 uur tot 8 March 2018 05:30 uur.",
"events": [
{
"alertC": "408",
"text": "De op- en afrit is dicht"
}
]
},
{
"msgNr": "114594347",
"from": "Naarden",
"fromLoc": {
"lat": 52.28153,
"lon": 5.18393
},
"to": "Naarden",
"toLoc": {
"lat": 52.28153,
"lon": 5.18393
},
"location": "A1 Amsterdam richting Amersfoort",
"segStart": "Amsterdam",
"segEnd": "Amersfoort",
"start": "2018-03-07T23:00:00",
"startDate": "8 March 2018 00:00 uur",
"stop": "2018-03-08T04:00:00",
"stopDate": "8 March 2018 05:00 uur",
"reason": "De afrit is dicht. Van 8 March 2018 00:00 uur tot 8 March 2018 05:00 uur.",
"description": "Bij Naarden. De afrit is dicht. Van 8 March 2018 00:00 uur tot 8 March 2018 05:00 uur.",
"events": [
{
"alertC": "407",
"text": "De afrit is dicht"
}
]
}
],
"radars": []
}
},
{
"road": "A2",
"roadType": "aWegen",
"events": {
"trafficJams": [],
"roadWorks": [
{
"msgNr": "114452349",
"from": "afrit Kerkdriel",
"fromLoc": {
"lat": 51.75815,
"lon": 5.28296
},
"to": "afrit Kerkdriel",
"toLoc": {
"lat": 51.75815,
"lon": 5.28296
},
"location": "A2 Utrecht richting 's-Hertogenbosch",
"segStart": "Utrecht",
"segEnd": "'s-Hertogenbosch",
"start": "2018-03-07T21:30:00",
"startDate": "7 March 2018 22:30 uur",
"stop": "2018-03-09T05:00:00",
"stopDate": "9 March 2018 06:00 uur",
"reason": "De oprit is dicht. Van 7 March 2018 22:30 uur tot 9 March 2018 06:00 uur.",
"description": "Bij afrit Kerkdriel. De oprit is dicht. Van 7 March 2018 22:30 uur tot 9 March 2018 06:00 uur.",
"events": [
{
"alertC": "406",
"text": "De oprit is dicht"
}
]
}
],
"radars": []
}
},
{
"road": "A4",
"roadType": "aWegen",
"events": {
"trafficJams": [
{
"msgNr": "114692360",
"from": "Leidschendam",
"fromLoc": {
"lat": 52.07356,
"lon": 4.39532
},
"to": "Zoeterwoude-Dorp",
"toLoc": {
"lat": 52.12969,
"lon": 4.49096
},
"location": "A4 Den Haag richting Amsterdam",
"segStart": "Den Haag",
"segEnd": "Amsterdam",
"start": "2018-03-07T20:01:00",
"startDate": "7 March 2018 21:01 uur",
"delay": 480,
"distance": 2000,
"reason": "Wegwerkzaamheden. Twee rijstroken zijn dicht.",
"description": "Tussen Leidschendam en Zoeterwoude-Dorp. Wegwerkzaamheden. Twee rijstroken zijn dicht.",
"events": [
{
"alertC": "701",
"text": "Wegwerkzaamheden"
},
{
"alertC": "101",
"text": "Stilstaand verkeer"
},
{
"alertC": "505",
"text": "Twee rijstroken zijn dicht"
}
]
}
],
"roadWorks": [],
"radars": []
}
},
为什么我的回音不工作?更改为$array['roadEntries'][0]['road'] 将$array[1]['roadEntries'][0]['road']更改为$array['roadEntries'][0]['road'],这样做有效。你能解释一下吗?因为我不知道为什么这样做有效,而我做的却没有。谢谢@Nour JSON的顶级值是一个对象,它被{}包围,而不是一个用[]显示的数组。你为什么认为你需要[1]?@Barmar问得好。我想,既然它是一个数组,那么里面就不止一个了。但现在我明白了。谢谢