Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从JSON对象中删除$-可能吗?_Javascript_Json_Node.js - Fatal编程技术网

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中。删除“$”的正确方法是什么?您必须根据需要从此对象构造一个新对象。您需要找到一种“展平”的方法对象的字母表组件。如果您自己无法完成,则可能存在库。