-2
我有標題的.CSV文件:轉換fgetcsv響應爲特定JSON
Description, BusinessSurname, IsCustomer, IsSupplier, AddressType, Business
Address, IsInternational.
第一行:
Contact1, Contact1, True, True, Business, 123 Fake St, False
剩餘行並不重要,它只是更喜歡的是 - 實例。我在那裏有幾行數據。
我需要得到它爲這種格式的JSON:
{
Description:'Desc_47AE3208-87F5-4BBA-BE40-AA4130AB4768',
SurnameBusinessName:'Name_Business',
IsCustomer:true,
IsSupplier:true,
Addresses:
[
{AddressType:'Business',Line1:'addr1_bus',IsInternational:false},
{AddressType:'Postal',Line1:'addr1_pos',IsInternational:true}
]
}
我已經嘗試了幾種不同的方式,但他們沒有專門給我一個JSON像這樣的嵌套地址。我可以留下第二個地址(郵政地址)。
如果我用這個代碼:
$filename = 'contacts1.csv';
$handle = fopen($filename, 'r');
$count = 0;
while (($data = fgetcsv($handle)) !== FALSE) {
$count++;
if ($count == 1){
continue;
}
$json = json_encode($data, true);
echo $json;
};
我得到這個例如:
["Contact1","Contact1","TRUE","TRUE","Business","123 High Street Sydney NSW 2000","FALSE"]
["Contact2","Contact2","TRUE","TRUE","Business","124 High Street Sydney NSW 2000","FALSE"]
["Contact3","Contact3","TRUE","TRUE","Business","125 High Street Sydney NSW 2000","FALSE"]
是否有一種方式來獲得我需要的JSON,如果我不能得到所需要的json自動,有沒有辦法我可以提取每行的值,並分配給一個變量,並手動創建所需的每個行json,使用for循環,while循環等? EG:
{
Description: $description,
SurnameBusinessName: $BusinessSurname,
etc...
}
以及csv標頭 - 顯示csv行 – RomanPerekhrest
我已經展示了csv行的示例。謝謝。通過查看我得到的輸出,您可以看到csv行中的內容。基本一樣的東西。 – user8114890
回答已在這裏:https://stackoverflow.com/questions/44781279/how-to-make-fgetcsv-to-be-the-json-i-wantadfasdgfasdf/44781458#44781458 –