2012-01-17 8 views
1

コールバックを提供していますが、次の文字列が有効なJSONであると考えていないようです:は、Facebook上で獲得チップOfferwallからJSONの問題

{"algorithm":"HMAC-SHA256","credits":{"order_details":"{\"order_id\":306370426075228,\"buyer\":501702705,\"app\":124611564308567,\"receiver\":501702705,\"amount\":1,\"update_time\":1326747520,\"time_placed\":1326747519,\"data\":\"\",\"items\":[{\"item_id\":\"0\",\"title\":\"15000000 FullStack Poker Chips\",\"description\":\"Get FullStack Poker Chips\",\"image_url\":\"http:\\\/\\\/external.ak.fbcdn.net\\\/safe_image.php?d=AQBm3ERdBXy3wQO4&url=http\\u00253A\\u00252F\\u00252Fwww.iplaypokerfb.com\\u00252Ffb_graph3\\u00252Fimages\\u00252Ffbc6.jpg\",\"product_url\":\"\",\"price\":1,\"data\":\"{\\\"modified\\\":{\\\"product\\\":\\\"http:\\\\\\\/\\\\\\\/apps.facebook.com\\\\\\\/fullstackpoker_dev\\\\\\\/earn_lander\\\\\\\/earn\\\",\\\"product_title\\\":\\\"FullStack Poker Chips\\\",\\\"product_amount\\\":15000000,\\\"credits_amount\\\":1}}\"}],\"status\":\"placed\"}","status":"placed","order_id":306370426075228,"test_mode":1},"expires":1326751200,"issued_at":1326747520,"oauth_token":"AAABxVWQGiFcBAJWhbUlHq8iRz7YuybEsUh9tUfjdSRbogcentYMEZA60ESLdyVLiX1TjPZBmXk03iFKTpkvr6l1d1IwdCbrpwo13BOCAZDZD","user":{"country":"us","locale":"en_US","age":{"min":21}},"user_id":"501702705"} 

しかし、私はオンラインパーサやバリデータでそれをチェックするときそれはそれが有効なJSONだと言います。

私はPHP 5.2.17を使用しています。私は何の問題もなくJSONを何度も使ってきました。 PHPでこれを解析する方法を誰かが知っている場合は、現時点では、チップ獲得のOfferwallコールバックを使用して無効になっているのでお知らせください。

答えて

0
"order_details":"{\"order_id\" 

これは不要な二重引用符ですか?私は、この断片は次のようになります:

"order_details": {"order_id": ... 
+0

いいえ、order_details配列にはjsonも含まれていますが、最初の実行時には処理されません。 json内のjson。 –

+0

私はそれをもう一度チェックします。 Json配列は '['と ']'に含まれています。 JSONはJSON内にあってもJSONです。 –

+0

私の質問は簡単です... PHPでこの文字列を解析できますか?これは有効なJSONであり、パーサーまたはバリデーターでよく解析されます。あなたはそれを自分で試すことができます。 –

2

JSONは完全に有効です。だから、文脈が存在しない場合に推測する頼る

http://jsonlint.com/参照してください:

そうでないupgradephpからServices_JSONまたはバリアントを試してみてください。