如何从对象中提取内容?

时间:2014-08-11 17:48:06

标签: javascript string object console

我正试图通过AJAX远程获取数据。

当我通过document.write(obj)查看数据时,我会在浏览器上看到这一点:

[object Object]

这是什么意思?这是数组还是数组?

我是JavaScript的新手,我需要查看这个obj并获取文本。我真的很感激任何见解。

我使用了console.log(data),我看到了这个输出。我需要从这个输出中删除\。我试过了:

data.strReplace(/\\/g/,'');

它不起作用。

数据如下所示:

["{\"name\":\"ServerA\",\"data\":[[1406284185600,0.092],[1406285985600,0.092]]}]

这是我所看到的截图:

My console 这是控制台输出:

enter image description here

3 个答案:

答案 0 :(得分:10)

请勿使用document.write()进行调试。

使用console.log()并检查浏览器的开发者工具。

[object Object]是对象显示为字符串的方式:您之后会看到这一点,因为您将数据显示为HTML。您还会看到alert(),这是人们错误地用于调试的另一件事。

控制台会显示实际的数据,如下所示:

Console view of a JavaScript object


关于你的新信息:这里有一些问题。

  1. 反斜杠有一个原因:它们逃避形成字符串的引号。您想要删除它们的唯一原因是将字符串转换为对象(我假设您正在尝试这样做。
  2. 您已删除最后一个结束花括号和最后一个结束括号之间的引号。它应该是

    ["{\"name\":\"ServerA\",\"data\":[[1406284185600,0.092],[1406285985600,0.092]]"}
    

    这就是你所拥有的:

    ["{\"name\":\"ServerA\",\"data\":[[1406284185600,0.092],[1406285985600,0.092]]}
    

    (请注意语法高亮的区别。)

  3. 您的正则表达式有拼写错误:它应该是/\\/g,而不是/\\/g/

  4. 字符串替换方法为.replace(),而不是.strReplace()
  5. 即使你解决了所有这些问题,你的"对象"仍然是一个字符串(从技术上讲,它是JavaScript中的一个对象,但你知道我的意思)。要从中获取对象,请使用JSON.parse()
  6. 修复所有 之后,它就可以了。

    Demo

答案 1 :(得分:4)

Firefox有一个名为Firebug的插件。这将允许您扩展对象,查看其结构和内容。

关于如何提取数据的问题,您可以通过执行以下操作来获取人物对象的名称:

var name = person.name;
console.log(name);

这将获取已创建的person对象的名称。现在将其调整为您的对象名称,以及您要提取的任何信息。正如我所说,firebug将使事物更容易在视觉上看到物体的结构。

答案 2 :(得分:2)

Chrome DevTools或FireFox FireBug是您最好的朋友。打开它,然后使用console.log(data)在工具控制台中查看它。

相关问题