1

last.fm API 返回一个 JSON 字符串,我使用它转换为数组

json_decode($response, ($returnType == 'array'));

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

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

(注意最后的1)

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

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

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

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

4

2 回答 2

0

您可以使用修剪将其删除:

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

手动的

于 2012-05-14T14:05:34.367 回答
0

首先,我不明白($returnType == 'array'),你应该只放在TRUE那里

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

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

于 2012-05-14T14:27:31.197 回答