2

我在萤火虫的控制台上有这个,

[Object { fa_id="1167535",  f_id="1000",  loc_type="6",  more...}, Object { fa_id="1167535",  f_id="1000",  loc_type="6",  more...}]

它是来自服务器端的数据。现在,我将如何将其转换为数组,以便可以在另一个文件中使用这些数据。我试过了JSON.parsejQuery.parseJSON但都没有工作。

4

3 回答 3

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;
}
于 2013-02-21T18:49:01.753 回答
0

如果你想获得一个 php 数组,请使用这个

http://php.net/manual/en/function.json-decode.php

于 2013-02-21T18:47:56.943 回答
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 控制台。

于 2013-02-21T18:48:45.497 回答