将JSON字符串的所有key值首字母改为大写

//将JSON字符串'{"name": "jack","age":"19","address": "beijing"}'的所有key值首字母改为大写:'{"Name":"jack","Age":"19","Address":"beijing"}'
 1 function toUpperCasel(json){
 2   //将json字符串解析为Object对象
 3   let obj = JSON.parse(json)
 4   let newObj = {}
 5   let tempKey, currentValue, upperCase, arr
 6   //遍历obj对象的属性——key值
 7   for(let i in obj){
 8     currentValue = obj[i]
 9     //字符串切割为数组
10     arr = i.split('')
11     //数组的第一个元素转换为“大写字母”
12     upperCase = arr[0].toUpperCase()
13     //替换第一个元素
14     arr.splice(0, 1, upperCase)
15     //将数组拼接为字符串——新key值(首字母大写)
16     tempKey = arr.join('')
17     //将新key值赋给newObj
18     newObj[tempKey] = currentValue
19   }
20   //将newObj转换为json字符串,并返回
21   let newJson = JSON.stringify(newObj)
22   return newJson
23 }
24 
25 let json = '{"name": "jack","age":"19","address": "beijing"}'
26 console.log(toUpperCasel(json))

 

 

 

注意点:

//将字符串每个字符都分割,注意参数

str.split('')

//将数组里元素全部拼接到一个字符串中,注意参数

arr.join('')

//slice提取部分数组,并返回新数组,不会更改原数组

arr0 = arr.slice(0,1)

//用splice替换数组中元素,会更改原数组

arr.splice(0,1, 'ABC')

//用splice删除数组中元素,返回被删除元素,并会更改原数组

let deleteItem = arr.splice(0,1)

 

 

  
posted @ 2020-08-29 21:30  xuwennn  阅读(3188)  评论(1编辑  收藏  举报