2016-04-07 8 views
0

でJSONオブジェクトからのデータガイド:は、私はPHPのAPIからこのオブジェクトを持っているの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

print_rの出力ではなくJSONを表示します。 –

答えて

1

arrData[0]のオブジェクトだけでなく、配列全体を反復処理する必要があります。そして、値ではなく、indexをキーに設定するだけのfor (index in object)は使用しないでください。キャプションにアクセスするには、.captionを使用します。

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

それはちょうど私はこのjsonとjavascriptの事に全く新しいです。 PHPをやっているが、フロントエンドのコーディングを行う必要がないフレームワークがある。私が必要としているものだけを@バーマールしてくれてありがとう。 – bluerain25

0

キャプションの部分については、これを使用することができます

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

.mapは、アレイ内のすべての要素のキャプション値を抽出するために使用されます。結果の配列値は.joinと連結されます。セパレータは、.join関数のパラメータとして指定できます。

何かをExcelファイル形式で書き込むことは簡単ではありません。結果がCSV形式(コード例に示されている)でない限り、そのためにはanswerをご覧ください。

+0

クライアントとの議論によれば、CSVではうまくいきますが、サンプルのフォーマットに従うことができるエクセルであれば、はるかに優れています。あなたが見ることができるように、オブジェクトには「スパン」があります。 spanは、その特定のキャプションの列数です。 – bluerain25