2015-12-30 91 views
1

我有一个json如下。您可以看到same here的树状图。Manipual json与Js

{ 

    "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; 

你可以这样做吗?

回答

2

是的,这应该工作,检查该fiddle

obj.results = obj.results.collection1; 
console.log(obj); 
+0

我会试试看。谢谢.. – esafwan

0

创建新的对象,并尝试分配

var newData = { 
"results": data.results.collections; 
} 
+0

我会试一试。非常感谢。 – esafwan

0

所有你需要做的就是,你有实体店的值的新变量你想在这种情况下,你想要将值data.results.collection1存储在名为results的变量中,所以:

var results = data.results.collection1; 
+0

我会试试看。谢谢。 – esafwan

0

如果你使用jQuery,您可以使用 VAR OBJ = $。延长({},data.results.collection1)

$ .extend使深层副本,以便OBJ将是独立的对象。

如果使用天然JS,然后使用

VAR OBJ =的Object.create(data.results.collection1) 或 变种复制= Object.assign({},data.results.collection1); //这是ES6特定的

+0

我会试试看。谢谢。 – esafwan