Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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 - Fatal编程技术网

Javascript 删除JSON根

Javascript 删除JSON根,javascript,json,Javascript,Json,我在JavaScript变量上有以下字符串: my_Variable = "{"Domini":[{"cod_domini":"1","nom_domini":"Sant Esteve de Palautordera"},{"cod_domini":"2","nom_domini":"Parc Natural del Montseny"},{"cod_domini":"5","nom_domini":"Sant Pere de Vilamajor"},{"cod_domini":"6","nom

我在JavaScript变量上有以下字符串:

my_Variable = "{"Domini":[{"cod_domini":"1","nom_domini":"Sant Esteve de Palautordera"},{"cod_domini":"2","nom_domini":"Parc Natural del Montseny"},{"cod_domini":"5","nom_domini":"Sant Pere de Vilamajor"},{"cod_domini":"6","nom_domini":"Santa Maria i Mosqueroles"}]}"
我需要删除字符串顶部的根
Domini
,因此生成的字符串如下所示:

my_Variable = [{"cod_domini":"1","nom_domini":"Sant Esteve de Palautordera"},{"cod_domini":"2","nom_domini":"Parc Natural del Montseny"},{"cod_domini":"5","nom_domini":"Sant Pere de Vilamajor"},{"cod_domini":"6","nom_domini":"Santa Maria i Mosqueroles"}]
我尝试使用
JSON.parse()
函数将JSON解析为一个对象,但我不知道如何检索数据并处理它以生成一个没有根的新JSON

我应该使用某种循环吗?

很简单:

my_Variable = my_Variable.Domini;
在JSON解析之后

因此,代码如下所示:

my_Variable = "{"Domini":[{"cod_domini":"1","nom_domini":"Sant Esteve de Palautordera"},{"cod_domini":"2","nom_domini":"Parc Natural del Montseny"},{"cod_domini":"5","nom_domini":"Sant Pere de Vilamajor"},{"cod_domini":"6","nom_domini":"Santa Maria i Mosqueroles"}]}";
my_Variable = JSON.parse( my_Variable );
my_Variable = my_Variable.Domini;
console.log( my_Variable ); // [{"cod_domini":"1","nom_domini": ...

如果希望传递变量,请执行以下操作(您提到您已经这样做了,但为了完整性,我添加了它)

解析后,只需执行以下操作:

var JsonWithoutDominiAsRoot = parsedJson.Domini;

您可以“.”遍历新json对象的不同属性。多米尼只是其中之一。

考虑到你想在移除密钥后将其恢复为字符串

my_Variable = JSON.stringify(JSON.parse(my_Variable).Domini);

崩溃 将字符串解析为JSON对象

JSON.parse(my_Variable).Domini
返回属性多米尼的值

JSON.stringify(JSON.parse(my_Variable).Domini)
将其重新编码为字符串。

var obj=JSON.parse(JSON);
obj=[Object.keys(obj)[0]];
var newJson=JSON.stringify(obj);
或者,避免使用Object.keys等ES5功能:

var obj=JSON.parse(JSON);
for(obj中的var键){
如果(!Object.prototype.hasOwnProperty.call(obj,key))继续;
obj=obj[键];
打破
}
var newJson=JSON.stringify(obj);

为什么要删除根目录?大多数情况下,一旦您将此字符串转换为JSON对象,您就不会引用此根。“根”是否总是被命名为
Domini
?非常感谢大家!事实上,这真的很容易!(此解决方案适用于任何根目录-如果您只想获取.Domini,那么当然可以这样做)
JSON.parse(my_Variable).Domini
JSON.stringify(JSON.parse(my_Variable).Domini)