Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
Php 从站点检索JSON等于NULL_Php_Json - Fatal编程技术网

Php 从站点检索JSON等于NULL

Php 从站点检索JSON等于NULL,php,json,Php,Json,结果为空响应。但是,当您访问该页面时,会从中读取html $url="https://alcurex.com/api/market.php?pair=mrc_ltc&price=buy"; $json = file_get_contents($url); $data = json_decode($json); echo $json; var_dump($data); 响应不是有效的JSON格式 {“pair”:MRC_LTC,“time:”2014-07-23 07:34:54,“

结果为空响应。但是,当您访问该页面时,会从中读取html

$url="https://alcurex.com/api/market.php?pair=mrc_ltc&price=buy";

$json = file_get_contents($url);
$data = json_decode($json);

echo $json;
var_dump($data);

响应不是有效的JSON格式

{“pair”:MRC_LTC,“time:”2014-07-23 07:34:54,“价格”:0.00000017,“数量”:558.99741176,“类型”:买入}

您可以从Firefox控制台进行检查,正确的JSON应该是:

{
    "pair": MRC_LTC,
    "time": "2014-07-23 07:34:54,
    "price": 0.00000017,
    "volume": 558.99741176,
    "type": Buy
},
错误:

  • 配对、时间和类型缺少
  • 字符串末尾不必要的逗号

  • 此JSON有三个问题:

    • 对值不是有效类型,如果它应该是字符串,则缺少引号
    • 时间有字符串开始引号,但不结束它
    • 类型值不是有效的类型,如果它应该是字符串,则缺少引号
    这是一个有效的JSON:

    var s = {
      "pair": "MRC_LTC",
      "time": "2014-07-23 07:34:54",
      "price": 0.00000017,
      "volume": 558.99741176,
      "type": "Buy"
     };
    

    那么,您认为
    var\u dump()
    的输出会产生有效的JSON吗?我想这就是我上次停止的地方。我尝试了各种方法来获取返回的值作为我可以访问的数组。好的,您需要更清楚地了解如何处理脚本的结果,以及在哪里看到这个“null”,它不起作用,因为来自alcurex.com的JSON无效。。。看起来是手写的。。?到处都是引号,日期开头有引号,但结尾没有
    json_encode()
    不会对您这样做-必须是自己造成的。您可以使用
    {
        "pair": "MRC_LTC",
        "time": "2014-07-23 07:34:54",
        "price": 0.00000017,
        "volume": 558.99741176,
        "type": "Buy"
    }