我有一笔很大的json资料(万笔以上)需要parse,
可是实际上每次在存取时,
都只是需要其中的10几笔资料,
一次将资料转换成JSON物件又会吃掉很多内存,
所以想要用正规式做字串分析,
但写出来的正规式实在又臭又长,
因此想跟板友讨教是否有更简便的写法,
最大的问题在于每笔资料的第18栏可能是阵列,
导致无法使用\[.*?\]来切割,
资料内容大约如下:
{
"0000001":[1,2,0,0,0,0,0,0,0,0,0,0,1,1,"0.0","0.0",3,0,0,0,0,0,7],
"0000002":[2,2,0,0,0,0,0,0,0,0,0,0,1,1,"0.0","0.0",3,0,1,0,0,0,7],
"0000003":[3,2,0,0,0,0,0,0,0,0,0,0,1,1,"0.0","0.0",3,0,[1,1,1],0,0,0,7]
}
目前使用的正规式如下:
\"(0000002|0000003)\":\[((.+?),+){18}(?(?=\d+).+?|\[.+?\]).*?\]