2012-11-23 42 views
0

PHP的json_encode($对象)的结果是如何将json数据转换成jquery代码?

[{"price_id":"1","website_id":"0","price_qty":2,"price":"90.0000"}, 
{"price_id":"2","website_id":"0","price_qty":5,"price":"80.0000"}, 
{"price_id":"3","website_id":"0","price_qty":8,"price":"70.0000"}] 

有人告诉我,var sorted = arrayWithJsonData.sort(function(a,b){}

如何使用PHP以上json_encode($对象)arrayWithJsonData。 我用下面的方式,但它显示类型错误:object.sort不是一个函数

第一:在PHP我所做的:echo '<div style="display:none;" id="object">'.$object.'</div>';然后在jQuery中使用

var object=jQuery("#object").text(); // first sort the array var sorted = object.sort(function(a,b){} 
+0

我认为错误TypeError:object.sort是不是一个函数是从JavaScript对象arrayWithJsonData,而不是PHP – Diego

回答

1

您需要首先解析对象,的JavaScript(jQuery的),可以把它理解:

JSON.parse(data); 
+0

如何解析它?你能给更多datail.thank你 – 123

0
var arrayWithJsonData = <?php json_encode($object) ?>; 
var sorted = arrayWithJsonData.sort(function(a, b){ 
    // Sort criteria between a and b 
}); 
1
var arrayWithJsonData = $.parseJSON($('#object').text()); 

$.parseJSON是一个用于将格式正确的json字符串转换为json对象的jQuery可用性(jQuery doc:http://api.jquery.com/jQuery.parseJSON/)。在我们的例子中,匹配元素的$('#object').text()方法返回格式良好的json字符串,它是PHP函数json_encode($object)的输出。希望有所帮助。

+0

也许你可以解释你的答案有点帮助OP了解其为什么起作用。 –