JSONをCSVファイルに変換したいと思います。私は4列目のアレイ値を取得し、私のCSVファイルではサブ配列jsonをCSVファイルに変換するには?
Array to string conversion
:私はこの通知を取得し、
<?php
$response = '[{
"field1": "vala1",
"field2": "vala2",
"field3": "vala3",
"field4": [{
"field4a": "vala4-1",
"field4b": "vala4-2",
"field4c": "vala4-3"
}]
}, {
"field1": "valb1",
"field2": "valb2",
"field3": "valb3",
"field4": [{
"field4a": "valb4-1",
"field4b": "valb4-2",
"field4c": "valb4-3"
}]
}]';
$list = json_decode($response, true);
$fp = fopen('test_json.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields, ';');
}
fclose($fp);
?>
しかし: はここに私のPHPコードです。
がここで出力期待です:
echo $fields['field1'] . ';' . $fields['field2'] . ';' . $fields['field3'] . ';' . $fields['field4'][0]['field4a'] . ',' . $fields['field4'][0]['field4b'] . ',' . $fields['field4'][0]['field4c'] . '<br>';
しかし、それはCSVファイルへのサブアレイのJSONに変換する方法、 ..だから柔軟ではありません。
vala1;vala2;vala3;vala4-1,vala4-2,vala4-3
valb1;valb2;valb3;valb4-1,valb4-2,valb4-3
私はこのコードを使用する場合、私は期待値を得ることができますJSONファイルに多くのフィールドを追加しても動作しますか?事前に
おかげで、
、あなたは '$ fields'をあなたは、文字列としてダンプしようとする子アレイ、ある意味しています。複数のループが必要です。 –
[PHPをjsonをcsvにサブ配列で変換する]の可能な複製(http://stackoverflow.com/questions/34244197/php-convert-json-into-csv-with-sub-array) – Deadpool