我有一个带有标题的 .CSV 文件:
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 循环等?例如:
{
Description: $description,
SurnameBusinessName: $BusinessSurname,
etc...
}