javascript - 如何从对象中提取内容?

标签 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

最佳答案

不要使用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() .

一旦你修复了所有问题,它就可以正常工作了。

Demo

关于javascript - 如何从对象中提取内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25249367/

相关文章:

javascript - 自动加载新页面,仅访问正文中的元素

c - 从不兼容的指针类型传递 ‘search_and_count’ 的参数 2 [默认启用]

c# - 对象模型,正确或最直观的方式

java - KeyReleased Java 方法不起作用

javascript - 对象方法被视为字符串

javascript - 如何在加载图片(在网络中)时向用户显示 gif 动画?

javascript - 用一个导航标签控制多个标签内容

javascript - 添加一天至今 - 避开周末(周六、周日)

java - 对象 +""和 object.toString() 之间的区别

c - C 中 2 字节短到 2 字节字符串?