2012-01-17 58 views
1

从赚取芯片Offerwall在Facebook上的回调似乎并不认为以下字符串是有效的JSON:应用内货币供应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中解析这个问题,因为目前使用Earn Chips Offerwall回调无效。

回答

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

这是不必要的双引号吗?我会这个片段应该是这样的:

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

不,order_details数组包含一个也是json的字符串,但它并不打算在第一次运行时处理。它的json内部的json。 – 2012-01-17 15:46:19

+0

我会仔细检查一下。 Json数组包含在'['和']'中。 JSON即使在JSON中也是JSON。 – 2012-01-17 15:51:53

+0

那么我的问题很简单...你能解析这个字符串在PHP中。它是有效的JSON,并在解析器或验证器中在线解析。你可以自己尝试。 – 2012-01-17 16:06:14