Php 文件_get_内容不';t匹配复制的值-甚至未修剪
各位晚上好 我现在有点说不出话来。我使用PHP已经有相当长的时间了,但我无法解码一个简单的JSON字符串 到目前为止,我所了解的是: 代表问题的简单脚本:Php 文件_get_内容不';t匹配复制的值-甚至未修剪,php,Php,各位晚上好 我现在有点说不出话来。我使用PHP已经有相当长的时间了,但我无法解码一个简单的JSON字符串 到目前为止,我所了解的是: 代表问题的简单脚本: <?php $twasiapiraw = file_get_contents("https://twasi.net/api/spendencoins/get/41847584?API_KEY=TWASI_PUBLIC_KEY"); $twasiapifake = '{"code":200,"message":"OK","coin
<?php
$twasiapiraw = file_get_contents("https://twasi.net/api/spendencoins/get/41847584?API_KEY=TWASI_PUBLIC_KEY");
$twasiapifake = '{"code":200,"message":"OK","coins":[{"twitch_id":"41847584","coins":0,"twitch_name":"mekalix"}]}';
var_dump(trim($twasiapiraw));
echo "<br>";
var_dump(trim($twasiapifake));
?>
因此,输出完全匹配,此屏幕截图表明:
非常奇怪的是,它们似乎有不同的长度(一个99,另一个96)。我也尝试过不修剪,但我认为可能有一些线结束时中断
JSON是有效的,但当我尝试解码它时,这将导致PHP JSON错误4-语法错误。但我相信,当两个字符串长度相同时,这可能会自行解决。如何使两个字符串匹配
非常感谢您的帮助或提示。您从API获得的字符串开头有一个
您可以删除它
if (substr($twasiapiraw, 0, 3) == "\xef\xbb\xbf") {
$twasiapiraw = substr($twasiapiraw, 3);
}
它表示字符串是UTF-8编码的,但无论如何,json_decode只能用于UTF-8编码的字符串。从API获得的字符串开头有一个
您可以删除它
if (substr($twasiapiraw, 0, 3) == "\xef\xbb\xbf") {
$twasiapiraw = substr($twasiapiraw, 3);
}
它表示字符串是UTF-8编码的,但是
json\u decode
只对UTF-8编码的字符串有效。根据您的
判断,我假设您正在尝试在浏览器中查看此内容。您是否查看了原始输出(查看源)?Trim仅从开头和结尾去除空白,而不是在字符串内部。JSON字符串的中间可能有断线或其他字符,可能有控制字符,这些字符是不可见的。看看这个谢谢你的想法!Devon我查看了原始源代码输出,它与@Fran Cerezo完全相同,我将在明天查看,谢谢您的提示!从您的
判断,我假设您正在尝试在浏览器中查看此内容。您是否查看了原始输出(查看源)?Trim仅从开头和结尾去除空白,而不是在字符串内部。JSON字符串的中间可能有断线或其他字符,可能有控制字符,这些字符是不可见的。看看这个谢谢你的想法!Devon我查看了原始源代码输出,它与@Fran Cerezo完全相同,我将在明天查看,谢谢您的提示!