2013-10-21 70 views
-2

我绑到这个jsonString传递给我的查询解码JSON字符串解码返回null

xxxxxx=createVenue&clientId=2&jsonString={"veneue":{"clientId":"b","name":"d","tagline":"f","phone":"b","address":"d","city":"f","state":"b","zip":"d","twitter":"f","license":"d","imagePath":"f","pickupLocation":"b"},"drinks":[{"type":"d","name":"f","servingTable":{"servingSize":"b","price":"d"}},{"type":"d","name":"f","servingTable":{"servingSize":"b","price":"d"}}],"spirits":[{"type":"d","name":"f","servingTable":{"servingSize":"b","price":"d"}},{"type":"d","name":"f","servingTable":{"servingSize":"b","price":"d"}}]} 

但是,当我在PHP解码它返回null。

$clientId = trim($_REQUEST['clientId']); 
     $jsonString = trim($_REQUEST['jsonString']); 
     $decodedJSON = json_decode($jsonString); 

     return $decodedJSON; 

$ decodedJSON返回null;

出了什么问题?

+0

你有没有尝试'urldecode()'之前''json_decode()'? –

+0

提示:*检查* trim($ _ REQUEST ['jsonString'])'的值(并通过验证程序运行以确定哪个部分现在无效) – user2864740

+0

什么是投票的最低点? –

回答

3

您的JSON似乎有效。
由于您已启用magic_quotes_gpc,因此可能会使用反斜杠进行引号转义。你需要做的是使用

$jsonString = trim(stripslashes ($_REQUEST['jsonString'])); 
+0

修复它真的很感谢....简单的请求是返回冒号变成斜杠。 –

+0

谢谢你的回答,找到它之后发现它像是2h一样,这个问题是什么......因为它是输入字段,所以引号被逃脱了。在调试过程中,您将如何看到这一点,以便我知道未来? –

1

解析尝试产值像die(trim($_REQUEST['jsonString']));之前 - 你会看到字符串损坏

所以在此字符串插入网址到位的问题,在那个地方,你应该做urlencode(json_encode(...))