javascript - 将 json 数据格式化为驼峰式格式

标签 javascript jquery

我从服务器收到一个 json 响应,看起来像这样:

{
    "Response": {
        "FirstName": "John",
        "LastName": "Smith",
        "NickNames": {
            "NameOne": "Johnny",
            "NameTwo": "JohnS",
            "NameThree": "Smithy"
        },
        "Success": true,
        "Errors": []
    }
}

有没有一种方法可以通过函数运行此响应,以便每个键值对的键都是驼峰式?

所以输出看起来像这样:

{
    "response": {
        "firstName": "John",
        "lastName": "Smith",
        "nickNames": {
            "nameOne": "Johnny",
            "nameTwo": "JohnS",
            "nameThree": "Smithy"
        },
        "success": true,
        "errors": []
    }
}

如果有人能给我指出正确的方向,那就太好了。

谢谢。

最佳答案

您将为 JSON.parse 提供一个 reviver 函数,该函数将值分配给小写的新属性。

function toCamelCase(key, value) {
  if (value && typeof value === 'object'){
    for (var k in value) {
      if (/^[A-Z]/.test(k) && Object.hasOwnProperty.call(value, k)) {
        value[k.charAt(0).toLowerCase() + k.substring(1)] = value[k];
        delete value[k];
      }
    }
  }
  return value;
}

var parsed = JSON.parse(myjson, toCamelCase);

有关其工作原理的更多信息 in this SO answer .

关于javascript - 将 json 数据格式化为驼峰式格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557064/

相关文章:

javascript - 如何计算所有里的总高度?

javascript - 在 Controller 中过滤json数据,正确的方法

javascript - 以与 jQuery.proxy() 相同的方式调用 lodash _.bind() ?

JavaScript 克隆表行 - 重置值

javascript - 我在哪里可以获得印度的 .geojson 文件,而不是每个州/地区或任何其他区别的单独文件?

javascript - 异步调用链,其中最后一个调用与第一个调用进行比较

jquery - AJAX 获取请求失败 : JSONP

javascript - 未捕获的类型错误说函数不能应用于对象?

javascript - 如何使用 Jquery.css 方法更改逗号分隔的 css 值?

javascript - 分别读取div中包含的输入值