JSON 返回 [object Object]

8
我试图从指定的URL返回JSON数据,但当弹出警告时,它只显示[object Object](我知道对象对象实际上并不是错误)。 我想在警告中输出职位名称和其他字段。我该怎么做?
这是我所看到JSON的示例(完整文件有约30个帖子)
[
  {
    "m_id": 473644,
    "m_positionName": "Application Monitoring Software Engineer",
    "m_positionLocations": [
      {}
    ],
    "m_active": true,
    "m_description": "Job Responsibilities:\r\n\r\n-Create world class application monitoring tools and dashboards for our health care applications\r\n\r\n-Develop business rules to pro actively identify and re-mediate system-level issues before they occur.\r\n\r\n-Create business intelligence reports for internal and external use as a supplement to software products.\r\n\r\n\r\n\r\nJob Requirements:\r\n\r\n-BS or MS Degree in computer science or any engineering discipline.\r\n-4+ years of experience with Java (or other object-oriented programming language).\r\n-Experience in SQL, Struts, Hibernate, Spring, Eclipse, JSP, JavaScript.\r\n-Highly motivated and self-driven personality.\r\n-Excellent interpersonal and leadership skills.\r\n-A vision for the future and a desire to make a difference.\r\n-Experience with Maven, Tomcat, PostgreSql, Jasper Reports,",
    "m_postedDate": "Jun 29, 2012 9:17:19 AM",
    "m_closingDate": "Jun 29, 2013 12:00:00 AM"
  }
]

以下是我使用的脚本。

 $.ajax({
 type: "GET",
 url: '/wp-content/themes/twentyeleven/js/jobopenings.json',
 async: false,
 beforeSend: function(x) {
  if(x && x.overrideMimeType) {
   x.overrideMimeType("application/j-son;charset=UTF-8");
  }
 },
dataType: "json",
success: function(data){
alert(data);
}
});

非常感谢任何帮助。


9
使用console.log代替alert - Ram
3个回答

20
你可以将对象转换为字符串,然后进行警告显示。
alert(JSON.stringify(data));

那会将对象中的数据吐出,但我想具体地将m_description字段输出到一些HTML中,比如一个li - gschervish

7

试试这个:

success: function(data)
{
  var _len = data.length;
  , post, i;

  for (i = 0; i < _len; i++) {
    //debugger
    post = data[i];
    alert("m_positionName is "+ post. m_positionName);
  }
}

1
现在我们开始了。这将输出每个位置,谢谢! - gschervish
现在,如果我想将这些数据附加到页面主体中而不是弹出警告,我应该写什么呢?我尝试了以下代码,但没有起作用。('<li>' + "m_positionName is " + post.m_positionName + '</li>').appendTo('body'); - gschervish
1
成功:function(data) { var _len = data.length; , $span = $('<span>') , post, i; for (i = 0; i < _len; i++) { //debugger post = data[i]; $span.html("m_positionName 是 "+ post. m_positionName).appendTo('body'); alert("m_positionName 是 "+ post. m_positionName); } } - eseceve

1
当jQuery接收到一个json时,jQuery会自动将其转换为JavaScript对象。因此,data只包含您的对象,可以直接使用。 如果您想访问响应的原始文本,可以这样做:
success: function(data, textStatus, jqXHR){
    alert(jqXHR.responseText);
}

这会输出原始文本,但我想要输出 m_positionNamem_description 和其他内容。 - gschervish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接