我有一个json如下。您可以看到same here的树视图。
{
"results": {
"collection1": [
{
"property1": {
"href": "http://www.somesite.com/neatobambino/2015/12/29/Little-Girl-Uses-Dogs-Tail-as-a-Paintbrush/",
"text": "Little Girl Uses Dog's Tail as a Paintbrush"
},
"property5": {
"alt": "",
"src": "",
"text": ""
},
"index": 1,
"url": "http://www.somesite.com/"
},
{
"property1": {
"href": "http://www.somesite.com/2015/09/11/20-Alternative-Housing-Solutions-for-the-Homeless/",
"text": "20 Alternative Housing Solutions for the Homeless"
},
"property5": [
{
"alt": "",
"src": "http://www.somesite.com/page/data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",
"text": ""
},
{
"alt": "",
"src": "http://www.somesite.com/page/data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",
"text": ""
}
],
"index": 2500,
"url": "http://www.somesite.com/page/84"
}
]
}
}
正如你所看到的那样结果是两级内部。在results
内,我们再次collection1
。整个json位于对象data
内。如何将collection1
中的整个数据直接移至results
?
有点像。
var data.results = data.results.collections;
你能做那样的事吗?
答案 0 :(得分:2)
是的,应该有效,请查看fiddle
obj.results = obj.results.collection1;
console.log( obj );
答案 1 :(得分:0)
创建新对象并尝试分配
var newData = {
"results": data.results.collections;
}
答案 2 :(得分:0)
您所要做的就是一个新变量,您可以在其中存储所需的值,在这种情况下,您希望将值data.results.collection1存储在名为results的变量中,所以:
var results = data.results.collection1;
答案 3 :(得分:0)
如果您使用的是Jquery,则可以使用 var obj = $ .extend({},data.results.collection1)
$ .extend进行深度复制,因此obj将是独立对象。
如果您使用的是原生JS,请使用
var obj = Object.create(data.results.collection1) 要么 var copy = Object.assign({},data.results.collection1); //这是ES6特定的