jquery - 如何使用Jquery检查Json对象是否存在?

标签 jquery json ajax

我使用ajax返回错误消息。返回对象如下所示

{"readyState":4,"responseText":"{\"Message\":\"The request is invalid.\",\"ModelState\":{\"\":[\"Email 'dsfasdf' is invalid.\"]}}","responseJSON":{"Message":"The request is invalid.","ModelState":{"":["Email 'dsfasdf' is invalid."]}},"status":400,"statusText":"Bad Request"}

我想知道(showError.responseText).ModelState[""]是否存在

我尝试了以下代码。但不起作用

if ((showError.responseText).ModelState[""]) {
            console.log('Key is exist in Object!');
}
if ((showError).hasOwnProperty("ModelState[0]")) {
    console.log('Key is exist in Object!');
}

最佳答案

您返回的值包含嵌套的 JSON。 jQuery 将为您反序列化父对象(假设响应的 MIME 类型配置正确),但是您需要手动反序列化 repsonseText 才能使用它。试试这个:

var response = {
  "readyState": 4,
  "responseText": "{\"Message\":\"The request is invalid.\",\"ModelState\":{\"\":[\"Email 'dsfasdf' is invalid.\"]}}",
  "responseJSON": {
    "Message": "The request is invalid.",
    "ModelState": {
      "": ["Email 'dsfasdf' is invalid."]
    }
  },
  "status": 400,
  "statusText": "Bad Request"
}

// in your AJAX handler function:
var rt = JSON.parse(response.responseText);
if (rt.ModelState)
  console.log(rt.ModelState);

关于jquery - 如何使用Jquery检查Json对象是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60745174/

相关文章:

带有 HTTP POST 的 Android JSON ajaxQuery

jquery ajax 函数不工作

javascript - 动画 jQuery UI 可拖动元素回到起始位置

javascript - 使用javascript函数调用ajax更新MYSQL结果

php - 如何在每个循环中增加 Jquery 变量

javascript - JSON 数据无法通过文本区域输入控件

asp.net-mvc - 使用Razor View 引擎输出Json

json - 未捕获的语法错误 : Unexpected token <, Angular 6 尝试连接到 Node server.js

javascript - 将 HTML 加载到 DIV 中,但保留 CSS,JS 包含

jquery - Pinterest 样式图像加载