2016-04-07 3 views
0

У меня есть этот объект из PHP API:Получение данных из объекта JSON в JavaScript

[Object { span=1, caption="Particular", master=true}, 
Object { span=5, caption="Loan Class 1"}, 
Object { span=5, caption="Loan Class 2"}, 
Object { span=5, caption="Loan Class 3"}] 

Нужный выход будет:

## Particular Loan Class 1 Loan Class 2 Loan Class 3 ## 

Я пытался сделать это:

var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData; 
for (var index in arrData[0]) { 
row += index + ',';} 
row = row.slice(0, -1); 
CSV += row + '\r\n'; 

Что представляет собой csv

## span caption master ## 

Пожалуйста, помогите, как получить значение заголовка, и если есть сценарий, который будет выводить это в excel, так как необходимо добавить некоторое слияние столбцов.

+1

Покажите нам JSON, а не print_r. –

ответ

1

Вы должны выполнять итерацию по всему массиву, а не только по объекту в arrData[0]. И вы не должны использовать for (index in object), который просто устанавливает index ключам, а не значениям. Затем для доступа к титрам вы используете .caption.

for (var i = 0; i < arrData.length; i++) { 
    row += arrData[i].caption + ','; 
} 
+0

вот так, что я совершенно новичок в этом json и javascript. выполняли php, но с фреймворками, где нет необходимости делать кодирование переднего конца. спасибо @barmar, что мне нужно. – bluerain25

0

Для заголовка части вы могли бы использовать это:

var row = arrData.map(function(element) { 
    return element.caption; 
}).join(' '); 

.map используется для извлечения значения заголовка всех элементов в массиве. Результирующие значения массива объединяются с .join. Вы можете указать разделитель как параметр для функции .join.

Написание чего-либо в формате Excel не является тривиальным. Если вы не хотите получить результат в формате CSV (что подразумевает ваш пример кода). Для этого вы можете взглянуть на это answer.

+0

Да, в соответствии с обсуждением с клиентами, они в порядке с csv, но если мы сможем сделать это в excel, где мы можем следить за форматами из образца, у нас было намного лучше. как вы можете видеть, что в объекте есть «span». span - количество столбцов для определенной надписи – bluerain25

Смежные вопросы