Есть ли какая-либо функция в Delphi, как «unserialize ()» в PHP?
Массив, который у меня есть, имеет строковый формат:
а: 6: {s: 15: «info_buyRequest»; а: 2: {s: 3: «кол-во»; я: 1; s: 1
5: «super_attribute»; а: 2: {я: 234; s: 4: «2047»; я: 237; s:
4: «4312»;}} s: 15: «attributes_info»; а: 2: {я: 0; а: 2: {s:
5: «метка»; s: 6: «Taglia»; s: 5: «значение»; s: 6: «6
Anni «;} я: 1; а: 2: {s: 5:» метка «; s: 9:» TIPOLOGIA «; s: 5:» v
alue «; s: 25:» Completo + Pallone
Adidas «;}} s: 11:» simple_name «; s: 78:» Maglia Bacca Milan «Carlos Ufficiale
2015, 2016, комплектный Pallone Jersey AC
МИЛАН «; s: 10:» simple_sku «; s: 4:» — 148 «; s: 20:» product_calculations «; я: 1; s: 13:» корабельщики
t_type «, я: 0;}
Спасибо
Есть ли какая-либо функция в Delphi, как «unserialize ()» в PHP?
В библиотеке времени выполнения Delphi нет ничего, что могло бы работать непосредственно на выходе из PHP serialize()
. Эта функция использует нестандартный формат на заказ. В идеальном мире вы будете использовать широко принятый стандарт, такой как JSON. Действительно, PHP поддерживает JSON, и если сериализация была выполнена с json_encode()
было бы просто десериализовать в Delphi или любом другом основном языке.
Для решения вашей проблемы вам потребуется один из следующих вариантов:
json_encode(unserialize(...))
,serialize()
,FWIW, любой API, который вручает вам вывод serialize()
плохо продуман, и можно было бы посчитать целесообразным поиск альтернативы.
Других решений пока нет …