微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

json字段下划线转驼峰

在前后端分离的web开发中,API接口传输数据最常用的格式当属JSON了,它具有轻量、可读性高、易于传输等优点。但是,由于历史原因,有些API返回的JSON字段名包含下划线,这会给开发带来不便。因此,我们常常需要将JSON字段名的下划线转换成驼峰命名方式,以方便前端调用

json字段下划线转驼峰

下面的示例展示了使用JavaScript语言将JSON字符串中的下划线转换成驼峰命名方式的方法

function camelCaseKeys(obj) {
    if (typeof obj !== "object") {
        return obj;
    }
    let newObj = {};
    for (let key in obj) {
        if (obj.hasOwnProperty(key)) {
            let newKey = key.replace(/_(.)/g,(match,group) => group.toupperCase());
            newObj[newKey] = camelCaseKeys(obj[key]);
        }
    }
    return newObj
}

上述代码定义了一个camelCaseKeys函数,它接受一个JSON对象作为参数。如果参数不是对象类型,则直接返回。如果是对象类型,则遍历每个属性,将含有下划线的属性名转换成驼峰命名,在递归地处理其属性值。最后返回处理后的新对象。

如果要使用该函数将JSON字符串中的下划线转换成驼峰命名,则需要先将JSON字符串解析成为JavaScript对象,再调用函数进行处理,最后将处理后的结果转换成为JSON字符串。

let jsonStrWithUnderlineKeys = '{"first_name": "John","last_name": "Doe","address_info": {"city_name": "New York","zip_code": "10001"}}';
let jsonObjWithUnderlineKeys = JSON.parse(jsonStrWithUnderlineKeys);
let jsonObjWithCamelCaseKeys = camelCaseKeys(jsonObjWithUnderlineKeys);
let jsonStrWithCamelCaseKeys = JSON.stringify(jsonObjWithCamelCaseKeys);
console.log(jsonStrWithCamelCaseKeys);

上述代码中,将一个JSON字符串先解析成为JSON对象jsonObjWithUnderlineKeys,再调用camelCaseKeys函数将其下划线转换成驼峰命名,最后使用JSON.stringify方法将转换后的JSON对象转换成字符串并输出

总之,对于前后端分离的web开发,将JSON字段名从下划线转换成驼峰命名方式是一种十分常见的需求,上述的代码可以帮助我们轻松实现该功能

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐