Convert returned JSON Object Properties to (lower first) camelCase

后端 未结 18 2316
忘掉有多难
忘掉有多难 2020-12-04 21:05

I have JSON returned from an API like so:

Contacts: [{ GivenName: "Matt", FamilyName: "Berry" }]

To keep this consistent

18条回答
  •  感情败类
    2020-12-04 21:38

    Building on goredwards answer (which didn't handle the array fields correctly)

    function objectKeysToCamelCase(snake_case_object) {
      let camelCaseObject = {}
      _.forEach(
        snake_case_object,
        function(value, key) {
          if (_.isPlainObject(value)) {
            value = objectKeysToCamelCase(value)
          } else if (_.isArray(value)) {
            value = value.map(v => _.isPlainObject(v) ? objectKeysToCamelCase(v) : v)
          }
          camelCaseObject[_.camelCase(key)] = value
        },
      )
      return camelCaseObject
    }
    

提交回复
热议问题