Я пытаюсь сделать ключ json строчным, поэтому у меня есть решение, в котором он переводит весь ключ json в нижний регистр, но я не хочу переводить весь ключ json в нижний регистр. Я хочу сделать только второй уровень ключа json для нижний регистр
поэтому при выполнении console.info(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 ($0, $1) {
return '"' + $1.toLowerCase() + '":';
});
var newObj = JSON.parse(newJson);
console.info(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.info(newData)