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])
        })
      }
    }
    

      

  • 相关阅读:
    Git
    vue
    vue
    echarts,dojo和兼容问题
    js数组对象以某一对象排序
    滚动条与图片移动
    vue
    vue
    vue页面组件化-父子组件传值
    phpquery笔记
  • 原文地址:https://www.cnblogs.com/xiadongqing/p/15661700.html
Copyright © 2011-2022 走看看