gpt4 book ai didi

javascript - 如何使用 Express Node.JS 将 JSON 文件属性值大写?

转载 作者:太空宇宙 更新时间:2023-11-04 01:58:17 25 4
gpt4 key购买 nike

我已经尝试了几个小时来做​​到这一点,我看到的大多数问题和示例都没有解决我的问题,例如 This one here正在谈论键,而不是值。

我厌倦了使用 JSON 解析器,但有两个问题:

  1. 首先如何迭代这些值?我知道读取键有不同的方法,但是值和嵌套值又如何(假设我们不知道键或值的名称)。
  2. 如何实际写入值并替换它,而不是替换整个文件,可能类似于:

    key.value=key.value.toUpper();

我正在寻找一种适用于任何 JSON 文件的解决方案,但完全不知道 key 的名称。

最佳答案

您可以使用replace直接对JSON字符串进行操作:

jsonString.replace(/"\s*:\s*"[^"]/g, match => {
return match.slice(0, -1) + match[match.length - 1].toUpperCase()
})

这将使您不必解析 JSON,并且可能会更快一些。不过,编写一个高性能的综合正则表达式可能很困难,因此解析 JSON 并编写一些递归函数可能会更安全:

const uppercaseValues = obj => {
return Object.keys(obj).reduce((uppercased, key) => {
const value = obj[key]
if (typeof value === 'string') {
uppercased[key] = value[0].toUpperCase() + value.slice(1)
} else if (typeof value === 'object') {
uppercased[key] = uppercaseValues(value)
} else {
uppercased[key] = value
}
return uppercased
}, {})
}

const parsedJson = JSON.parse(jsonString)
const uppercased = uppercaseValues(parsedJson)
const xformedJson = JSON.stringify(uppercased)

关于javascript - 如何使用 Express Node.JS 将 JSON 文件属性值大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47021090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com