1
我在文本格式提取BLOB字段出来的MySQL表:解析结构化文本数据
CAST(orders AS CHAR(10000) CHARACTER SET utf8)
现在每场看起来是这样的:
a:2:{s:4:"Cart";a:5:{s:4:"cart";a:2:{i:398;a:7:{s:2:"id";s:3:"398";s:4:"name";s:14:"Some product 1";s:5:"price";i:780;s:3:"uid";s:5:"FN-02";s:3:"num";s:1:"1";s:6:"weight";s:1:"0";s:4:"user";s:1:"4";}i:379;a:7:{s:2:"id";s:3:"379";s:4:"name";s:14:"Some product 2";s:5:"price";i:750;s:3:"uid";s:5:"FR-01";s:3:"num";s:1:"1";s:6:"weight";s:1:"0";s:4:"user";s:1:"4";}}s:3:"num";i:2;s:3:"sum";s:7:"1530.00";s:6:"weight";i:160;s:8:"dostavka";s:3:"180";}s:6:"Person";a:17:{s:4:"ouid";s:6:"103-47";s:4:"data";s:10:"1278090513";s:4:"time";s:8:"21:33 pm";s:4:"mail";s:15:"[email protected]";s:11:"name_person";s:8:"John Doe";s:8:"org_name";s:13:"John Doe Inc.";s:7:"org_inn";s:12:"667110804509";s:7:"org_kpp";s:0:"";s:8:"tel_code";s:3:"343";s:8:"tel_name";s:7:"2670039";s:8:"adr_name";s:26:"London, 221b, Baker street";s:14:"dostavka_metod";s:1:"8";s:8:"discount";s:0:"";s:7:"user_id";s:2:"13";s:6:"dos_ot";s:0:"";s:6:"dos_do";s:0:"";s:11:"order_metod";s:1:"1";}}
我可以看到的是,该文云中顺序:[type]:[length]:[data];
,其中[type]
:小号代表串和一个代表数组(或Python中的字典)。它也有i:'number':
组,没有[length]:
。
虽然我不清楚如何解析嵌套字典(在Python术语中),但我没有看到比在几遍中用正则表达式解析它更好的解决方案。
问题:它是一个标准的数据结构,已经有一个解析器?
不错!是的,我正在使用Python,所以你的链接是非常有用的。谢谢! –