将JSON转换为数组PHP时出错

唐尼·达科(Donnie Darko)

您好,我有这个电话。

$preciobitcoin = curlCall('https://www.bitstamp.net/api/ticker/');

我可以完美地得到 $preciobitcoin['last'].

但是这个

$preciodolar = curlCall('https://s3.amazonaws.com/dolartoday/data.json');

作为字符串而不是数组返回

这是功能不起作用的代码这是功能不起作用的代码

function curlCall($url, $params = null, $contentType = 'application/json', $options = array()) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSLVERSION, 4);

if (!is_null($params) && !is_null($options['key']) && !is_null($options['sig'])) {
    curl_setopt($curl, CURLOPT_POST, TRUE);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: '.$contentType, 'key: '.$options['key'], 'sig: '.$options['sig']));
    //
} else if (!is_null($params) && !empty($params)) {
    curl_setopt($curl, CURLOPT_POST, TRUE);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: '.$contentType));
} else {
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: '.$contentType));
}

// Allow for custom requests
if (isset($options['custom_request']) && !empty($options['custom_request'])) {
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $options['custom_request']);
}

curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; cryptoGlance ' . CURRENT_VERSION . '; PHP/' . phpversion() . ')');

$curlExec = curl_exec($curl);
if ($curlExec === false || curl_errno($curl)) {
    $data = array();
} else {
    $data = json_decode($curlExec, true);
}

if (empty($data)) {
    // return non-jsonfied data
    return $curlExec;
}

curl_close($curl);

return $data;

}

丹尼尔

可能是编码问题。这是一个可以在我的本地主机上正常工作的示例。

$str = file_get_contents( 'https://s3.amazonaws.com/dolartoday/data.json' );
var_dump( mb_detect_encoding( $str ) );

$str = mb_convert_encoding( $str, "UTF-8" );
var_dump( mb_detect_encoding( $str ) );

var_dump( json_decode( $str ));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Range转换为数组时出错

来自分类Dev

尝试将列表转换为数组时出错[]

来自分类Dev

将张量转换为numpy数组时出错

来自分类Dev

将数据从CSV转换为numpy数组时出错

来自分类Dev

将String转换为Char数组时出错

来自分类Dev

将php数组转换为json

来自分类Dev

将PHP数组转换为Json对象

来自分类Dev

将JSON代码转换为php数组

来自分类Dev

使用PHP将数组转换为json

来自分类Dev

将php JSON对象转换为数组

来自分类Dev

PHP - 将 JSON 格式转换为数组

来自分类Dev

PHP 将 JSON 数组转换为嵌套

来自分类Dev

将数据从 PHP 转换为 JSON 数组

来自分类Dev

Mongo:将JSON转换为BSON时出错

来自分类Dev

将json数据转换为[String:Any]时出错

来自分类Dev

将json转换为csv文件python时出错

来自分类Dev

如何将数组的json对象转换为php数组

来自分类Dev

如何将 JSON 数组转换为 PHP 中的数组?

来自分类Dev

将 JSON 嵌套数据转换为 PHP 数组数组

来自分类Dev

将循环结构转换为 JSON - 将元素数组复制到另一个数组并返回原始数组时出错

来自分类Dev

使用PHP json_decode将JSON转换为数组

来自分类Dev

将字典转换为JSON数组时发生TypeError

来自分类Dev

将xml数据转换为json时返回空数组

来自分类Dev

将Excel转换为JSON数组时无法解析日期

来自分类Dev

将float转换为datetime时出错

来自分类Dev

将DICOM转换为JPEG时出错

来自分类Dev

将double转换为int时出错

来自分类Dev

将Object []转换为byte []时出错

来自分类Dev

将float转换为datatime时出错