2012-03-12 117 views
0

我想知道,我们该如何将JSON值重新格式化为PHP变量?我们如何将JSON值格式化为PHP变量

我们通过“JSONP”数据类型从基于JSON的脚本获取URL。

http://localhost/kendo-prac/data/update.php?callback=jQuery17107827386485878378_1331380511887&models=%5B%7B%22ID%22%3A%2213%22%2C%22Title%22%3A%22RODDER%22%7D%5D&_=1331380521156 

我想将此URL重新格式化为此类型。

<?php 
    $callback = "jQuery17107827386485878378_1331380511887" ; 
    $Title = "RODDER" ; // This values encoded in &models=%5B%7B%22ID%22%3A%2213%22%2C%22Title%22%3A%22RODDER%22%7D%5D 
    $ID = 13 ; // This values encoded in &models=%5B%7B%22ID%22%3A%2213%22%2C%22Title%22%3A%22RODDER%22%7D%5D 
?> 

请给我合适的帮助,我们该怎么做?

+0

回调部分很简单。 '%5B%7B%22ID%22%3A%2213%22%2C%22Title%22%3A%22RODDER%22%7D%5D'部分是URL编码字符串。您可以先将其解码,然后将其解析为JOSN对象以获取Id和标题值。 – TheVillageIdiot 2012-03-12 05:26:38

回答

0
$json = $_GET['models']; 
$data = json_decode($json, true); 
$Title = $data[0]['Title']; 
$ID = $data[0]['ID']; 
+1

如果返回的数据是JSON-P格式,这样会工作吗?看来这就是他会回来的。 – xbonez 2012-03-12 05:20:37

+1

如果你解码该字符串,它只是:'[{“ID”:“13”,“Title”:“RODDER”}]'。没有P在那里。 – deceze 2012-03-12 06:03:30