我向API REST发出了json请求,并得到以下结果:
{
respuesta:0,
marcaciones:[
{
codigo:18225611,
codigoFicha:"18225611",
rut:"18.225.611-0",
nombres:"CAMILA ANDREA",
apellidos:"ALVARADO VALENZUELA",
departamento:"Departamento de Reservas",
sucursal:"JN",
fechaHora:"2019-07-22T08:50:57",
tipo:0,
numeroReloj:2
},
{
codigo:18225611,
codigoFicha:"18225611",
rut:"18.225.611-0",
nombres:"CAMILA ANDREA",
apellidos:"ALVARADO VALENZUELA",
departamento:"Departamento de Reservas",
sucursal:"JN",
fechaHora:"2019-07-22T13:07:11",
tipo:1,
numeroReloj:2
},
{
codigo:18225611,
codigoFicha:"18225611",
rut:"18.225.611-0",
nombres:"CAMILA ANDREA",
apellidos:"ALVARADO VALENZUELA",
departamento:"Departamento de Reservas",
sucursal:"JN",
fechaHora:"2019-07-22T14:04:04",
tipo:0,
numeroReloj:2
}
]
}
我需要获取结果的所有值并将其附加到txt文件(按结果一行)
示例:(仅第一行):
18225611,18225611,18.225.611-0,CAMILA ANDREA,ALVARADO ALENZUELA,Departamento de Reservas,JN,2019-07-22T08:50:57,0,2
到目前为止,这是我尝试过的
<?php
//URL de la API
$url = 'https://app.relojcontrol.com/api/consultaMarcaciones/consulta';
$ch = curl_init($url);
$hoy = date("Y-m-d");
//Configurar petición en JSON para enviarla vía POST
$data = array(
'apiKey' => 'a945fd71f1ac828ac08e22a095ac3448',
'inicio' => $hoy.'T00:00:00',
'termino' => $hoy.'T23:59:59',
'identificador' => [
//"12.345.678-9"
]
);
$payload = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
echo $result;
//Transformar para PowerBi
$output = "resultados.txt";
file_put_contents($output, $result);
curl_close($ch);
?>
但这只是将整个结果放在txt文件中。我怎样才能得到我想要的格式?
第一步,使用json-decode转换从API获得的json数据:
$res = json_decode($result, true);
然后打开您的输出文件:
$fp = fopen($output, 'w');
然后,循环显示结果,并使用fputcsv将其插入文件:
foreach($res["marcaciones"] as $e) {
fputcsv($fp, $e);
}
不要忘记最后关闭文件: fclose($fp);
然后,您完成了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句