2014-09-11 93 views
2

没有人知道如何将顶级json添加到现有对象吗?将顶级JSON添加到Javascript对象

这是我有:

var url = "http://domain.com/gettxt"; 
     $.ajax({ 
      url: url, 
      dataType: "json", 
      success: function (data, textStatus, jqXHR) { 
       rootData = data; 
       renderView(); 
      }, 
      error: function (jqXHR, textStatus, errorThrown) { 
       alert("error" + errorThrown) 
      } 
     }); 

在这一点上,数据包含以下内容:

[{"id":1,"title":"Johnson"}] 

,我需要它是这样的:

{ "record": [ {"id":1}, {"title":"Johnson"} ] } 

在换言之:

rootData = "{ "record":" + data + "}"; 

有谁知道我该怎么做以上?不幸的是,在JavaScript之前添加顶层并不是一种选择,谢谢。

回答

2

你可以直接添加这样的对象类型,

rootData = { record: data }; 

你的最终代码会

var url = "http://domain.com/gettxt"; 
    $.ajax({ 
     url: url, 
     dataType: "json", 
     success: function (data, textStatus, jqXHR) { 
      rootData = { record: data }; 
      renderView(); 
     }, 
     error: function (jqXHR, textStatus, errorThrown) { 
      alert("error" + errorThrown) 
     } 
    }); 
+0

非常感谢你@gopalakrishnan对你的好样本,即伟大工程! – carol1287 2014-09-11 08:45:09

1

试试这个

var arr = [{"id":1,"title":"Johnson"}]; 
var obj ={}; 
obj.record = arr; 
console.log(obj); 
2

你可以使用对象文本来做到这一点:

rootData = { record: data }; 

所以,你的代码应该是这样的:

success: function (data, textStatus, jqXHR) { 
    rootData = { record: data }; 
    renderView(); 
}, 
1
a = [{"id":1,"title":"Johnson"}] 
root = {record: a}