作者b60413 (None)
看板RegExp
標題[討論] JSON Parse
時間Tue Oct 7 20:47:04 2014
我有一筆很大的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+).+?|\[.+?\]).*?\]
--
http://www.myspace.com/soundtrack0220
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.136.171
※ 文章網址: http://webptt.com/m.aspx?n=bbs/RegExp/M.1412686027.A.4A9.html
1F:→ CindyLinz: "(0000002|0000003)":(.*,){18}(\[.*?\]|[^,]*) 10/08 16:57
2F:→ CindyLinz: "(0000002|0000003)":(.*?,){18}(\[.*?\]|[^,]*) 10/08 17:00