我有一个来自API的json响应,我无法使用PHP中的“json_decode”来创建一个数组,以便将其作为数组进行迭代。我总是会得到“NULL”,当我使用“var_dump”输出时,我的“json_decode”返回。这个API响应的响应头是“application/json”,但我不熟悉这种json格式。PHP - 我如何迭代这个json响应?
从API JSON响应看起来像这样:
[1,"Example name","307","7","Test","455",1458572100000]
[1,"Another example name","146","7","Test","455",1458571500000]
[1,"Test","304","7","Test","455",1458572280000]
[1,"Example name 3","163","7","Hello world","455",1458571080000]
这是一个单API请求的结果/响应。现在,例如,我想要得到每一行/对象的倒数第二个数字(在这种情况下每次都是455),或者,例如,名称(第二个值:“示例名称”,“另一个示例名称”,“测试”和等等)。我怎样才能做到这一点与PHP和这个JSON格式?这将是很好,如果我可以从这个数组迭代通过。
这是一个局部实时公交车到站API,但它类似于/一样content.tfl.gov.uk/…
,我把这个API与一个简单的HTTP/PHP中得到使用file_get_contents
要求
"/interfaces/ura/instant_V1?returnList=stopID,stopPointName,LineID,DestinationText,estimatedTime,vehicleID&vehicleID=455")
你从api中获得了所有4行代码?那么这不是有效的json。它是4个单独的json数组粘在一起,这是json的非法语法。你必须在换行符上展开这个字符串,然后将每个单独的行解码为不同的json字符串。 –
是从API的4个独立响应还是从4个独立的API对应的响应? – RiggsFolly
是的,这些行中的所有4行都是来自带有http头“application/json”的api的单个响应。根据我的请求参数,我还可以在一个响应中得到超过4条线,有时甚至是10条,50条甚至500条线。 –