我使用PHP从网站获取JSON响应,然后使用public static noOrderList<Integer> noOrderList() {
return makeListInNoOrder(new Integer[]{ 8, 6, 7, 5, 3, 0, 9, 9, 0, 3, 5, 7, 6, 8});
处理响应。这是我的PHP代码:
expected:<... 3, 0, 9, 9, 0, 3[]> but was: <... 3, 0, 9, 9, 0, 3[, ]>
这不起作用。
这是json_decode
返回的 $ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://api.checkwx.com/taf/LLBG/?format=json");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$vars); //Post Fields
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$headers = [
'X-API-Key: 555555555'
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close ($ch);
$json=json_decode($response,true);
$fulltaf = $json['status']['success']['data']['icao'];
数据:
JSON
答案 0 :(得分:0)
你没有说明什么没有用?
第一个问题是您的JSON有语法错误。我尝试使用http://jsonlint.com验证您的JSON,并在130之后为wind_degrees标记了一个额外的逗号。检查实际响应是否没有该逗号。 JSON不会使用额外的逗号进行正确解析。
下一个问题是data
是一个数组(因为它的数据括在括号中)。在此示例中,数组只有一个元素[0]
,因此要访问icao
,您需要引用它,如下所示。
我的猜测是以下行没有正常工作:
$fulltaf = $json['status']['success']['data']['icao'];
根据您列出的JSON,如果您想要检索icao
的{{1}}成员,则此行应如下所示。
data
如果您想测试成功的响应,以下引用应返回 $fulltaf = $json['data'][0]['icao'];
。
'success'