2016-06-17 5 views
-3

РЕДАКТОРА: Следуя приведенному ниже теему, это похоже на его рекомендуемое сообщение, но ни один из моих объектов не имеет массивов внутри них, так что сообщение не решило мою проблему.Извлечение объекта внутри объекта JSON без массивов

EDIT: Я не могу просто сделать

data2.forEach(function(provider) {provider['parameters']['name']}); 

, потому что есть только один объект с ключом «имя». Функция должна быть итеративным и способны извлекать всю информацию из каждого объекта сразу

EDIT: Я разобраны все JSON теперь я просто пытаюсь написать функцию/метод, который извлекает часть, Я хочу. «Данные2» ​​ниже - это переменная, в которой хранится разобранный JSON

У меня есть API, отправляющий мне неорганизованный JSON, который мне нужно извлечь из определенных частей. Ниже вы видите объект «параметры». Мне нужно все извлечь. Например, мне нужно извлечь «nameInfo»: «name» и «lastName», «alarmSet»: «время» и «температура», «бизнес»: «businessName» и «yearsInBusiness» и т. Д.

Цель: Я пытаюсь создать таблицу, в которой говорится, что nameInfo bob smith, alarmSet 5 часов 72 градуса и т. Д. И т. Д.

Единственное, что имеет место у всех JSON, это название «параметров». Все остальное внутри объекта «параметры» отличается. И все внутри объектов внутри объекта «parameters» отличается.

В настоящее время, что я делаю ...

data2.forEach(function(provider) {provider['parameters']}); 

и это просто возвращает [объект Object] [объект Object] [объект Object] [объект Object] [объект Object] [объект Object] и т.д. ....

"paramaters": { 
    "info": { 
     "name": "bob", 
     "lastName": "smith" 
    } 
    "alarmSet": { 
     "time": "5 o'clock" 
     "temperature": "72 degrees" 
    } 
} 

"parameters": { 
    "business": { 
     "businessName": "ice cream shop", 
     "yearsInBusiness": "17 years" 
    } 
     "policeRecords": { 
     "misdemeanors": "attempted ice cream stealing", 
     "felonies": "convicted of melting ice cream" 
    } 
} 
+0

@Teemu Очень близко, но у меня нет массивов внутри моего JSON:/Я буду продолжать читать этот пост и посмотреть, если это поможет мне. – AnonUser

+0

@Teemu Если бы вы могли указать мне, где это сообщение отвечает на мой вопрос, я бы очень признателен. Я чувствую, что люди читают ваш комментарий и полагают, что это тот же пост, когда это не так. Спасибо! – AnonUser

+0

@AnonUser Не имеет значения, есть ли у вас в вашем коде какие-либо массивы. В этом сообщении вы узнаете, как получить доступ к данным в объектах ** и ** массивов. –

ответ

0

Итак, если я правильно вас понимаю, вы хотите получить динамический объект внутри объекта? Если это так, тогда вам нужно проанализировать ваш JSON в пригодный для использования объект Javascript.

Ex:

var parsedData = JSON.parse(data2); 
parsedData.forEach(function(o, i){ 
     //o is now your full dynamic object for instance you can do o.business.businessName 

});