@accountnujen

Как распарсить такие данные?

curl запрос возвращает вот такое (если его отобразить через print_r)
found=9
items[0].Channel=0
items[0].Cluster=0
items[0].CutLength=9308097
items[0].Disk=0
items[0].Duration=34
items[0].EndTime=2021-10-16 18:15:33
items[0].Events[0]=VideoMotion
items[0].FilePath=/mnt/sd/2021-10-16/001/dav/18/18.14.59-18.15.33[M][0@0][0].dav
items[0].Flags[0]=Event
items[0].Length=9308097
items[0].Partition=0
items[0].PicIndex=0
items[0].Repeat=0
items[0].StartTime=2021-10-16 18:14:59
items[0].Summary.TrafficCar.PlateColor=Yellow
items[0].Summary.TrafficCar.PlateNumber= 
items[0].Summary.TrafficCar.PlateType=Yellow
items[0].Summary.TrafficCar.Speed=60
items[0].Summary.TrafficCar.VehicleColor=White
items[0].Type=dav
items[0].VideoStream=Main
items[0].WorkDir=/mnt/sd
items[0].WorkDirSN=0
items[1].Channel=0
items[1].Cluster=0
items[1].CutLength=8894195
items[1].Disk=0
items[1].Duration=34
items[1].EndTime=2021-10-16 18:25:03
items[1].Events[0]=VideoMotion
items[1].FilePath=/mnt/sd/2021-10-16/001/dav/18/18.24.29-18.25.03[M][0@0][0].dav
items[1].Flags[0]=Event
items[1].Length=8894195
items[1].Partition=0
items[1].PicIndex=0
items[1].Repeat=0
items[1].StartTime=2021-10-16 18:24:29
items[1].Summary.TrafficCar.PlateColor=Yellow
items[1].Summary.TrafficCar.PlateNumber= 
items[1].Summary.TrafficCar.PlateType=Yellow
items[1].Summary.TrafficCar.Speed=60
items[1].Summary.TrafficCar.VehicleColor=White
items[1].Type=dav
items[1].VideoStream=Main
items[1].WorkDir=/mnt/sd
items[1].WorkDirSN=0
items[2].Channel=0
items[2].Cluster=0
items[2].CutLength=3383054
items[2].Disk=0
items[2].Duration=12
items[2].EndTime=2021-10-16 20:08:16
items[2].Events[0]=VideoMotion
items[2].FilePath=/mnt/sd/2021-10-16/001/dav/20/20.08.04-20.08.16[M][0@0][0].dav
items[2].Flags[0]=Event
items[2].Length=3383054
items[2].Partition=0
items[2].PicIndex=0
items[2].Repeat=0
items[2].StartTime=2021-10-16 20:08:04
items[2].Summary.TrafficCar.PlateColor=Yellow
items[2].Summary.TrafficCar.PlateNumber= 
items[2].Summary.TrafficCar.PlateType=Yellow
items[2].Summary.TrafficCar.Speed=60
items[2].Summary.TrafficCar.VehicleColor=White
items[2].Type=dav
items[2].VideoStream=Main
items[2].WorkDir=/mnt/sd
items[2].WorkDirSN=0
...

Если отобразить через var_dump, то будет просто строка. Подскажите, как можно такое распарсить?
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 1
@rPman
в php готовых инструментов нет, может отдельно кто писал

parse_ini_str мог бы разобрать такое но без поддержки массива item[x] так же нет поддержки вложенных полей xxx.yyy.zzz

так что ручками в цикле, построчно, либо регуляркой либо preg_split выделяешь сначала =, затем все что между . и в цикле набираешь поля в объекты
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы