WordPressのとある固定ページにJSONデータをPOSTし、json_decodeしようとしているがエラーが発生してしまう。
json_last_errorによると、4(JSON_ERROR_SYNTAX)
が発生している。JSON形式の文字列が不正なようだ。
POSTされたデータを確認してみると、「"」ダブルクオートが「\"」にエスケープされているようだ。

	
Array
(
    [aa] => bb
    [_wpnonce] => dcca096cca
    [_wp_http_referer] => /test/public_html/item/test.html?aa
    [jsonstring] => {\"permalink\":\"http:\\/\\/192.168.1.10\\/test\\/public_html\\/item\\/test.html\",\"image_l\":[\"\\/test\\/public_html\\/ms\\/wp-content\\/uploads\\/2015\\/04\\/test-1024x1024.jpg\",1024,1024,true],\"usces_the_itemSkuDisp\":\"\",\"cart_itemcode\":\"test-A\",\"itemPrice\":\"3,500\"}
)

なぜ今どき、magic_quotes_gpcの挙動が起こるのだろうかとおもったら、WordPressではPHPのバージョンやmagic_quotes_gpcの設定に関わらず、magic quotesするらしい。

stripslashes_deep
 https://codex.wordpress.org/Function_Reference/stripslashes_deep

WordPress ignores the built in php magic quotes setting and the value of get_magic_quotes_gpc() and will always add magic quotes (even after the feature is removed from PHP in 5.4).

該当のデータをstripslashesするか、stripslashes_deep_post($_POST) することで元のデータに戻り、json_decodeが成功した。解決まで時間かかりました...