json_decode中的PHP额外字符

时间:2012-05-14 14:03:09

标签: php api json last.fm

last.fm API返回一个JSON字符串,我使用

转换为数组
json_decode($response, ($returnType == 'array'));

当转储响应时,它会给我以下json字符串:

{"session":{"name":"turncoat9","key":"b311abDee2d34e07541eeeefted2bad","subscriber":"0"}} 1

(注意最后的1)

由于这个额外的字符,json字符串无法转换为关联数组,因此我的问题。

我发现了一些讨论声明1是BOM(字节顺序掩码)字符,但所提供的所有解决方案都不适用于我的json字符串。

这个角色是什么?它为什么存在,为什么我在本地开发时不会发生这种情况? 解决方案是什么?

在两个不同的网络服务器上尝试了这个,给出了相同的结果

2 个答案:

答案 0 :(得分:0)

您可以使用trim删除它:

$cleaned_json = trim($received_json, '1 ');

Manual

答案 1 :(得分:0)

首先,我不理解($returnType == 'array'),您应该只将TRUE放在那里

assoc - > When TRUE, returned objects will be converted into associative arrays.

其次,您从API获得了什么答案?你确定它只返回json字符串吗?