1

last.fm APIは、を使用して配列に変換するJSON文字列を返します

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

応答がダンプされると、次のjson文字列が返されます。

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

(最後の1に注意してください)

この余分な文字のために、json文字列を連想配列に変換できないため、私の問題が発生します。

1がBOM(バイトオーダーマスク)文字であると述べているいくつかの議論を見つけましたが、提供されているすべてのソリューションが私のjson文字列では機能しません。

このキャラクターは何ですか?なぜそこにあるのですか、そして私がローカルで開発するときになぜこれが起こらないのですか?これに対する解決策は何ですか?

2つの異なるWebサーバーでこれを試したところ、同じ結果が得られました

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 に答える