2014-09-11 3 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

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} 
Смежные вопросы