解析我有一个PHP文件中的以下JSON回复:JSON无法使用JavaScript
[
{
"color": "black",
"product_name": "Prod2",
"revision": "apps/"
},
{
"color": "green",
"product_name": "Prod1",
"revision": "dev/"
}
]
(测试确定上JSONLint)
和Javascript:
$(document).ready(function(){
$('.target').keyup(function() {
var package_name = "name";
var package_version = "version";
var filter_results = "filter";
$.post('includes/package_filter.php', { package_name: package_name, package_version: package_version, filter_results: filter_results }, function(return_result) {
obj = JSON.parse(return_result);
alert(obj.product_name);
var existingDiv = document.getElementById('other');
existingDiv.innerHTML = CreateTable(return_result);
});
});
});
的return_result似乎不正确,因为我得到Error: SyntaxError: JSON.parse: unexpected end of data
时做JSON.parse 我也不会去更进一步的alrt ... 什么可能是错的?
我的PHP文件类似于:
<?php
function package_filter($package_name, $package_version, $filter_results){
foreach ($descriptions as $descriptions_display) {
...
$array_to_return[] = array('color' => $color , 'product_name' => $descriptions_display['product_name'] , 'revision' => $descriptions_display['revision']);
}
return json_encode($array_to_return);
}
?>
我的目标是创建一个表,我CreateTable
功能,但有错之前的东西。
您发布的JSON字符串很好。这里一定还有别的事情要做。 –
尝试使用'eval('('+ return_result +')')'。 – PHPglue
你确定jQuery没有注意到响应是JSON并已经将它转换为一个对象给你? –