我在firebug上的控制台上有这个,
[Object { fa_id="1167535", f_id="1000", loc_type="6", more...}, Object { fa_id="1167535", f_id="1000", loc_type="6", more...}]
它是来自服务器端的数据。现在,我如何将其转换为数组,以便可以在另一个文件上使用此数据。我尝试了JSON.parse
和jQuery.parseJSON
,但都没有用。
答案 0 :(得分:5)
这不是JSON,它是一个Javascript对象数组,而不是一个字符串。我的猜测是你从jQuery ajax调用中得到了这个,并且你设置了dataType : 'json'
,以便jQuery自动将JSON解析为这个数组。
要将其发送到PHP脚本,您可以使用以下命令将其转换回JSON:
var myString = JSON.stringify(data);
然后激活对PHP脚本的ajax调用,将其作为POST数据:
var myString = JSON.stringify(data);
$.post('page.php', { data : myString }, function(){
console.log( "sent" );
});
在PHP中,您可以使用以下方法对其进行解码:
$data = json_decode($_POST['data']); // <-- or whatever your post variable is named
foreach($data as $obj)
{
echo $obj->fa_id;
}
答案 1 :(得分:0)
如果你想获得一个php数组使用这个
答案 2 :(得分:0)
您提供的字符串不是有效的JSON。
[Object { fa_id="1167535", f_id="1000", loc_type="6", more...},
Object { fa_id="1167535", f_id="1000", loc_type="6", more...}]
特别是,JSON解析器无法解释“Object
”和“more...
”字符串。
假设您正在检查的对象是名为foo
的变量:
console.log(JSON.stringify(foo));
应该将对象的有效JSON表示打印到Javascript控制台。