在 javascript / node js 中创建第二级的 JSON 键为小写
create JSON key of second level to lowercase in javascript / nodej s
我正在尝试将 json 键设为小写,所以我得到了一个解决方案,它将所有 json 键设为小写,但我不想将所有 json 设为小写key to lower case 我只想把第二层的json key改成小写
所以在做 console.log(data)
时我得到了这个输出
{
'valueToBeAssign': {
titleAsName: 'random title',
urlOrWebsite: 'www.google.com',
name: 'english',
number: 123
}
}
{
'computerAssignTask': {
taskName: 'debug every thing',
issueGenerated: 'At low level',
assigneName: 'Mick',
reporterName: 'Pete',
issueResolve: 'not yet'
}
}
所以我写了一段代码
let json = JSON.stringify(data);
var newJson = json.replace(/"([\w]+)":/g, function ([=13=], ) {
return '"' + .toLowerCase() + '":';
});
var newObj = JSON.parse(newJson);
console.log(newObj);
但是我得到的所有密钥都是小写的
{
'valuetobeassign': {
titleasname: 'random title',
urlorwebsite: 'www.google.com',
name: 'english',
number: 123
}
}
{
'computerassigntask': {
taskname: 'debug every thing',
issuegenerated: 'At low level',
assignename: 'Mick',
reportername: 'Pete',
issueresolve: 'not yet'
}
}
我真正想要的是第一个键不应该改变,但之后应该像这样改变
{
'valueToBeAssign': {
titleasname: 'random title',
urloOrwebsite: 'www.google.com',
name: 'english',
number: 123
}
}
{
'computerAssignTask': {
taskname: 'debug every thing',
issuegenerated: 'At low level',
assignename: 'Mick',
reportername: 'Pete',
issueresolve: 'not yet'
}
}
我想要这种格式
遍历对象的所有键可能会更好。这样,您就可以按级别有区别地更改密钥。
const data = {
'valueToBeAssign': {
titleAsName: 'random title',
urlOrWebsite: 'www.google.com',
name: 'english',
number: 123
}
}
const newData = {}
for (const key of Object.keys(data)) {
newData[key] = {}
for (const innerKey of Object.keys(data[key])) {
newData[key][innerKey.toLowerCase()] = data[key][innerKey]
}
}
console.log(newData)
我正在尝试将 json 键设为小写,所以我得到了一个解决方案,它将所有 json 键设为小写,但我不想将所有 json 设为小写key to lower case 我只想把第二层的json key改成小写
所以在做 console.log(data)
时我得到了这个输出
{
'valueToBeAssign': {
titleAsName: 'random title',
urlOrWebsite: 'www.google.com',
name: 'english',
number: 123
}
}
{
'computerAssignTask': {
taskName: 'debug every thing',
issueGenerated: 'At low level',
assigneName: 'Mick',
reporterName: 'Pete',
issueResolve: 'not yet'
}
}
所以我写了一段代码
let json = JSON.stringify(data);
var newJson = json.replace(/"([\w]+)":/g, function ([=13=], ) {
return '"' + .toLowerCase() + '":';
});
var newObj = JSON.parse(newJson);
console.log(newObj);
但是我得到的所有密钥都是小写的
{
'valuetobeassign': {
titleasname: 'random title',
urlorwebsite: 'www.google.com',
name: 'english',
number: 123
}
}
{
'computerassigntask': {
taskname: 'debug every thing',
issuegenerated: 'At low level',
assignename: 'Mick',
reportername: 'Pete',
issueresolve: 'not yet'
}
}
我真正想要的是第一个键不应该改变,但之后应该像这样改变
{
'valueToBeAssign': {
titleasname: 'random title',
urloOrwebsite: 'www.google.com',
name: 'english',
number: 123
}
}
{
'computerAssignTask': {
taskname: 'debug every thing',
issuegenerated: 'At low level',
assignename: 'Mick',
reportername: 'Pete',
issueresolve: 'not yet'
}
}
我想要这种格式
遍历对象的所有键可能会更好。这样,您就可以按级别有区别地更改密钥。
const data = {
'valueToBeAssign': {
titleAsName: 'random title',
urlOrWebsite: 'www.google.com',
name: 'english',
number: 123
}
}
const newData = {}
for (const key of Object.keys(data)) {
newData[key] = {}
for (const innerKey of Object.keys(data[key])) {
newData[key][innerKey.toLowerCase()] = data[key][innerKey]
}
}
console.log(newData)