2016-03-14 3 views
0

У меня есть предопределенный объект (SampleObject), как это:Как вставить значения JSON в объект

{ 
    ID: "", 
    Name: "", 
    URL: "", 
    prevName: "", 
    Code: "", 
} 

И я хочу, чтобы вставить значения ниже JSon объекта (значения только):

var object = 
{ 
"Sample" : { 
    "Data" : { 
     "ID" : "12345", 
     "Name" : "SampleName: Name", 
     "URL" : "www.google.com", 
     "prevName" : "phones", 
     "Code" : "USD" 
    } 
} 

в указанный выше предопределенный объект. Как мне это сделать?

+0

Есть причина, вы не хотите, ключи переносятся? JSON полагается на пары ключ/значение. – Stef

+1

Что вы подразумеваете под "insert"? Вы можете просто взять 'pageObject.page.pageInfo' в этом случае, не так ли? –

+0

Или вы хотите объединить их? –

ответ

2

Вы можете просто использовать for in петли и установите проверки значения, если ключ присутствует в объекте или нет.

Проверьте, присутствует ли свойство в emptyObject, а затем скопируйте его на него.

for (var key in pageInfo) { 
    var value = pageInfo[key]; 

    if (obj.hasOwnProperty(key)) { 
    obj[key] = value; 
    } 
} 

Code Pen

1

Это объект. Нет причин использовать push или другой метод.

Просто возьмите свой определенный объект pageObject.page и назначьте новую пару ключевых значений с литеральным синтаксисом.

pageObject.page['pageInfo'] = predefinedObject 

или более общего синтаксис

pageObject.page.pageInfo = predefinedObject 
+0

Я пробовал этот 'pageObject.page.pageInfo = pageObject;' и печатал его на консоль, печатает пустые значения. – kittu

+0

Ваши значения на вашем объекте образца пусты, это причина? Я уверен, что это возможно в JavaScript –

+0

значения есть '' pageName ":" smartphones: samsung-galaxy-s-5 ",' – kittu

0

Используйте следующий код ниже JSON объект

var digitalData= {page:{pageInfo:''}}; 
digitalData.page.pageInfo = pageObject.page.pageInfo; 
console.log(digitalData.page.pageInfo);