javascript - 如何解析 JavaScript 对象中的所有 JSON 字符串

标签 javascript

我有 1 个这样的 JavaScript 对象:

result = {
  "status": "success",
  "message": "Get successful!",
  "data": {
      "name":"Hello world",
      "school": {
          "name":"LHP",
          "address":"HCM"
      },
      "class": "[{\"text\":\"Math\",\"code\":\"math124\"},{\"text\":\"Libra\",\"code\":\"libra124\"}]",
      "student": "{\"time_range\":{\"type\":\"select\",\"text\":\"Today\",\"value\":[{\"code\":\"in_today\",\"text\":\"In Today\"}]}}"
  }
}

所以我必须分别解析类(class)和学生:

result.data.class = JSON.parse(result.data.class);
result.data.student = JSON.parse(result.data.student);

是否有其他方法来解析整个结果变量或使此步骤更短/更好?

谢谢

最佳答案

您可以循环访问数据属性的子属性并解析它们。

for (var i = 0; i < Object.keys(result.data).length; i++) {
    try {
        result.data[Object.keys(result.data)[i]] = JSON.parse(result.data[Object.keys(result.data)[i]]);
    } catch (error) {} // it's already JSON
}

但只有当您确定只需要处理对象的 data 属性中的字符串化 JSON 时,我才会这样做。

关于javascript - 如何解析 JavaScript 对象中的所有 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43317816/

相关文章:

javascript - 导入文件而不实际导入它

javascript - 捕获表单的提交按钮

javascript - 使用 react-testing-library 测试 react-hotkeys

javascript - ws4py - 发送/接收消息不起作用

Javascript Sum 字段错误 NaN

javascript - extjs 组合框

javascript - 使用node.js从url下载文件到服务器

javascript - 如何刷新/重新加载应用程序/pdf 的嵌入?

javascript - 在 IOS 上显示 html5 视频的最佳方法

javascript - 在jqgrid中添加行