zoukankan      html  css  js  c++  java
  • JavaScript JSON的key 下划线格式与驼峰格式互相转换

    // 字符串的下划线格式转驼峰格式,eg:hello_world => helloWorld
    function underline2Hump(s) {
      return s.replace(/_(\w)/g, function(all, letter) {
        return letter.toUpperCase()
      })
    }
    
    // 字符串的驼峰格式转下划线格式,eg:helloWorld => hello_world
    function hump2Underline(s) {
      return s.replace(/([A-Z])/g, '_$1').toLowerCase()
    }
    
    // JSON对象的key值转换为驼峰式
    function jsonToHump(obj) {
      if (obj instanceof Array) {
        obj.forEach(function(v, i) {
          jsonToHump(v)
        })
      } else if (obj instanceof Object) {
        Object.keys(obj).forEach(function(key) {
          var newKey = underline2Hump(key)
          if (newKey !== key) {
            obj[newKey] = obj[key]
            delete obj[key]
          }
          jsonToHump(obj[newKey])
        })
      }
    }
    
    // JSON对象的key值转换为下划线格式
    function jsonToUnderline(obj) {
      if (obj instanceof Array) {
        obj.forEach(function(v, i) {
          jsonToUnderline(v)
        })
      } else if (obj instanceof Object) {
        Object.keys(obj).forEach(function(key) {
          var newKey = hump2Underline(key)
          if (newKey !== key) {
            obj[newKey] = obj[key]
            delete obj[key]
          }
          jsonToUnderline(obj[newKey])
        })
      }
    }
    

      

  • 相关阅读:
    排序数据记录查询
    条件数据记录查询
    简单数据记录查询
    缓冲流
    转换流
    删除数据记录
    更新数据记录
    插入数据记录
    移动前端自适应适配布局解决方案和比较
    如何解决inline-block元素的空白间距
  • 原文地址:https://www.cnblogs.com/xiadongqing/p/15661700.html
Copyright © 2011-2022 走看看