Javascript 从JSON对象中删除$-可能吗?
我有一个像这样的对象:Javascript 从JSON对象中删除$-可能吗?,javascript,json,node.js,Javascript,Json,Node.js,我有一个像这样的对象: { alphabet: { '$': { id: '11', href: 'abc' }, mydata: [[Object]], status: ['22'] } } 是否可以以某种方式删除$,使对象看起来像这样: { alphabet: { id: '11', href: 'abc'
{
alphabet: {
'$': {
id: '11',
href: 'abc'
},
mydata: [[Object]],
status: ['22']
}
}
是否可以以某种方式删除$
,使对象看起来像这样:
{
alphabet: {
id: '11',
href: 'abc'
mydata: [[Object]],
status: ['22']
}
}
var data = {
alphabet: {
'$': {
id: '11',
href: 'abc'
},
mydata: [[Object]],
status: ['22']
}
}
我对JavaScript和Node-JS还不熟悉,正在努力解决这个问题。我尝试了删除对象。$代码>但它什么都不做。我很确定我误解了这个函数
任何帮助都将不胜感激 克隆$
并使用对象。分配以合并克隆和原始对象
var obj={
字母表:{
'$': {
id:'11',
href:'abc'
},
mydata:[''],
状态:['22']
}
};
变量克隆=对象字母表[“$”];
删除对象字母[“$”];
分配对象(对象,克隆);
控制台日志(obj)编码>克隆$
并使用对象。分配
以合并克隆和原始对象
var obj={
字母表:{
'$': {
id:'11',
href:'abc'
},
mydata:[''],
状态:['22']
}
};
变量克隆=对象字母表[“$”];
删除对象字母[“$”];
分配对象(对象,克隆);
控制台日志(obj)
您的意思是将$
对象放入根对象
如果键名始终为$
,则可以在$
对象中获得键值,如下所示:
let alphabet: {
'$': {
id: '11',
href: 'abc'
},
mydata: [[Object]],
status: ['22']
}
for (let key in alphabet['$']) {
alphabet[key] = alphabet['$'][key]
// maybe you should consider the duplicate key.
}
您的意思是将$
对象放入根对象
如果键名始终为$
,则可以在$
对象中获得键值,如下所示:
let alphabet: {
'$': {
id: '11',
href: 'abc'
},
mydata: [[Object]],
status: ['22']
}
for (let key in alphabet['$']) {
alphabet[key] = alphabet['$'][key]
// maybe you should consider the duplicate key.
}
这是一个函数,它将循环遍历对象中某个属性的属性并将其展平
function flattenProp(obj, prop) {
var key;
for(key in obj[prop]) {
obj[key] = obj[prop][key];
}
delete obj[prop];
};
下面是一个正在使用的示例
var数据={
字母表:{
'$': {
id:'11',
href:'abc'
},
mydata:[[Object]],
状态:['22']
}
};
控制台日志(数据);
flattprop(data.alphabet,“$”);
控制台日志(数据);
功能属性(obj,属性){
var键;
用于(输入obj[道具]){
obj[key]=obj[prop][key];
}
删除obj[prop];
};代码>这里有一个函数,它将循环遍历对象中某个属性的属性并将其展平
function flattenProp(obj, prop) {
var key;
for(key in obj[prop]) {
obj[key] = obj[prop][key];
}
delete obj[prop];
};
下面是一个正在使用的示例
var数据={
字母表:{
'$': {
id:'11',
href:'abc'
},
mydata:[[Object]],
状态:['22']
}
};
控制台日志(数据);
flattprop(data.alphabet,“$”);
控制台日志(数据);
功能属性(obj,属性){
var键;
用于(输入obj[道具]){
obj[key]=obj[prop][key];
}
删除obj[prop];
};代码>此解决方案非常简单-
var obj = {
alphabet: {
'$': {
id: '11',
href: 'abc'
},
mydata: [[Object]],
status: ['22']
}
}
var temp = obj.alphabet.$
//copies the internal object to main one
for(var i=0;i<Object.keys(temp).length;i++) {
obj.Object.keys(temp)[0] = temp[Object.keys(temp)[0]];
}
delete obj.alphabet.$ //remove the old object from it
var obj={
字母表:{
'$': {
id:'11',
href:'abc'
},
mydata:[[Object]],
状态:['22']
}
}
变量温度=对象字母表$
//将内部对象复制到主对象
对于(var i=0;i这个解非常简单-
var obj = {
alphabet: {
'$': {
id: '11',
href: 'abc'
},
mydata: [[Object]],
status: ['22']
}
}
var temp = obj.alphabet.$
//copies the internal object to main one
for(var i=0;i<Object.keys(temp).length;i++) {
obj.Object.keys(temp)[0] = temp[Object.keys(temp)[0]];
}
delete obj.alphabet.$ //remove the old object from it
var obj={
字母表:{
'$': {
id:'11',
href:'abc'
},
mydata:[[Object]],
状态:['22']
}
}
变量温度=对象字母表$
//将内部对象复制到主对象
对于(var i=0;i当然是可能的。
假设您的数据变量(JSON)名为“数据”:
因此,数据如下所示:
{
alphabet: {
id: '11',
href: 'abc'
mydata: [[Object]],
status: ['22']
}
}
var data = {
alphabet: {
'$': {
id: '11',
href: 'abc'
},
mydata: [[Object]],
status: ['22']
}
}
我们只需要迭代data.alphabet.$
,将其所有属性存储到其父级(data.alphabet
),然后删除data.alphabet.$
:
for(var propname in data.alphabet["$"]) {
var propvalue = data.alphabet["$"][propname];
data.alphabet[propname] = propvalue;
}
delete data.alphabet.$;
下面是一个片段:
var data=JSON.parse(`{
“字母表”:{
"$": {
“id”:“11”,
“href”:“abc”
},
“mydata”:{},
“地位”:[“22”]
}
}`)
for(data.alphabet[“$”]中的var propname){
var propvalue=data.alphabet[“$”][propname];
数据。字母表[propname]=propvalue;
}
删除数据。字母表。$;
document.body.innerHTML=`${JSON.stringify(data,null,4)}`
当然可以。
假设您的数据变量(JSON)名为“数据”:
因此,数据如下所示:
{
alphabet: {
id: '11',
href: 'abc'
mydata: [[Object]],
status: ['22']
}
}
var data = {
alphabet: {
'$': {
id: '11',
href: 'abc'
},
mydata: [[Object]],
status: ['22']
}
}
我们只需要迭代data.alphabet.$
,将其所有属性存储到其父级(data.alphabet
),然后删除data.alphabet.$
:
for(var propname in data.alphabet["$"]) {
var propvalue = data.alphabet["$"][propname];
data.alphabet[propname] = propvalue;
}
delete data.alphabet.$;
下面是一个片段:
var data=JSON.parse(`{
“字母表”:{
"$": {
“id”:“11”,
“href”:“abc”
},
“mydata”:{},
“地位”:[“22”]
}
}`)
for(data.alphabet[“$”]中的var propname){
var propvalue=data.alphabet[“$”][propname];
数据。字母表[propname]=propvalue;
}
删除数据。字母表。$;
document.body.innerHTML=`${JSON.stringify(data,null,4)}`
字母表:{{id:'11',href:'abc'},mydata:[[Object]],状态:['22']}无效。对象将值存储在key:value pairThanks中。删除“$”的正确方法是什么?您必须根据需要从此对象构造一个新对象。您需要找到一种方法来“展平”对象的字母表组件。如果您自己无法做到这一点,可能会有库。字母表:{{id:'11',href:'abc'},mydata:[[Object]],status:['22']}无效。对象将值存储在key:value pairThanks中。删除“$”的正确方法是什么?您必须根据需要从此对象构造一个新对象。您需要找到一种“展平”的方法对象的字母表组件。如果您自己无法完成,则可能存在库。