-1

PHP json_decode は、この JSON 文字列に対して null を返しています

{"action":"online","email":null,"script":null}  

バリデーターはその有効性を示します。ヘルプ?

編集:使用

echo bin2hex($json);

私は得る

a bunch of padded zeros on the end  ...c7d00000000 - Unexpected control character found

どうにかしてそれらを取り除く必要があります..

答え:

問題が見つかったようです。試す

  $json = trim($json), if it don't fix use $json = preg_replace('/\\\\0+$/', '', $json) 

– ヘイヴナード

4

2 に答える 2

2

私はそうは思わない、もしあなたがそれを包ん'' だり""

""あなたのケースでそれを使用している間、礼儀正しくmsturdy

<?php

$json =  '{"action":"online","email":null,"script":null}';
var_dump(json_decode($json, true));

出力-

array(3) {
  ["action"]=>
  string(6) "online"
  ["email"]=>
  NULL
  ["script"]=>
  NULL
}

コードパッド - http://codepad.org/AdzSN4R3

コメントの後、DOCS から-

json_decode この関数は、UTF-8 でエンコードされたデータでのみ機能します。

于 2013-07-06T04:03:34.980 に答える
0

あなたが投稿したものは確かに有効な JSON です:

$ echo '{"action":"online","email":null,"script":null}' | python -mjson.tool
{
    "action": "online", 
    "email": null, 
    "script": null
}

ほとんどの場合、エンコーディングで何かが起こっています。ブラウザ経由で送信していますか?おそらく、その開発者ツールを利用して、データがどのように送信されているかを正確に把握できますか? (またはワイヤーを嗅ぐ...)

于 2013-07-06T04:18:18.053 に答える