使用jQuery.parseJSON()解析JSON字符串

时间:2010-08-25 19:15:56

标签: javascript jquery json

所以,在我看来这应该很简单......我有一个通过Ajax帖子返回的有效JSON字符串:

{"success":true,"message":"Thank you! We value your feedback."}

而我只是想把我的“消息”值提醒到我的结果回复:

success: function (result) {
   alert(result);
   var obj = $.parseJSON(result);
   alert(obj.message);
  },
error: function (req, status, error) {
   alert("Sorry! We could not receive your feedback at this time.");
  }

我的“obj”属性在某种程度上无法被识别.....我已经验证了JSON字符串以确保它是有效的,所以我在这里缺少什么?

2 个答案:

答案 0 :(得分:6)

您不需要解析您的JSON。将dataType属性设置为json,jQuery将为您解析它。然后,result基本上是您的JSON,您可以alert(data.message);

jQuery.ajax({
  ...
  dataType: "json",
  success: function(data) {
     alert(data.message);
  },
  ...
});

答案 1 :(得分:1)

在这种情况下可能发生的是jQuery已经将结果视为JSON对象。如果您的服务器返回MIME类型为application/json的数据,jQuery将检测您是否返回JSON并将结果设置为javascript对象而不是字符串。