Re: split a huge json file in separate per object files
[email protected] (Justin Rittenhouse) Thu, 13 Apr 2017 09:40:02 -0400
| Newsgroups | perl.perl4lib |
|---|---|
| Message-ID | <CABr009aOXMZcJ_8=haTVdv9qD2+ty+7=rVvNCztkVppc=CpRCA@mail.gmail.com> |
--001a113cda7077feb1054d0c7799 Content-Type: text/plain; charset=UTF-8 I haven't actually used the module, but I'd at least take a look at JSON::Path. It's like XPath, but for JSON. I *have* used JSONpath before, just not in Perl. If you're interested in JSONPath, check out http://goessner.net/articles/JsonPath/. On Fri, Mar 10, 2017 at 8:57 AM, Marios lyberak <[email protected]> wrote: > Hello community, > > i have a json file, with a structure like this: > > { > "106" : { > "id54011" : [ > { > "partno1" : "16690617" > }, > { > "partno2" : "5899180" > } > ], > "parts" : [ > "0899180", > "16920617" > ], > "id5632" : [ > { > "partno1" : "090699180" > } > ] > }, > "560" : { > "id9452" : [ > { > "partno2" : "1569855" > } > ], > "parts" : [ > "03653624", > "15899855" > ], > "id578" : [ > { > "partno3" : "0366393624" > }, > { > "partno4" : "0363213624" > } > ] > } > } > I need to split this json, into files, like this: > > each json file, will consist of one object. 000106.json, and 000560.json. > (all names, must gave 6 digits, so zeros must be added) > > I have tried to use eval for this, but no luck up to now... > > expected output: json file 1, named 000106.json: > > { > "106" : { > "id54011" : [ > { > "partno1" : "16690617" > }, > { > "partno2" : "5899180" > } > ], > "parts" : [ > "0899180", > "16920617" > ], > "id5632" : [ > { > "partno1" : "090699180" > } > ] > } > and json file 2, named 000560.json: > > { > "560" : { > "id9452" : [ > { > "partno2" : "1569855" > } > ], > "parts" : [ > "03653624", > "15899855" > ], > "id578" : [ > { > "partno3" : "0366393624" > }, > { > "partno4" : "0363213624" > } > ] > } > How would you handle this? > -- *Justin Rittenhouse* *Senior Application Development Technician, **Information Technology* *Hesburgh Libraries* 208 Hesburgh Library *o:* 574-631-3065 *e: *[email protected] <http://library.nd.edu/> --001a113cda7077feb1054d0c7799 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+SSBoYXZlbiYjMzk7dCBhY3R1YWxseSB1c2VkIHRoZSBtb2R1bGUsIGJ1 dCBJJiMzOTtkIGF0IGxlYXN0IHRha2UgYSBsb29rIGF0wqA8c3BhbiBzdHlsZT0iY29sb3I6cmdi KDAsMCwwKTtmb250LXNpemU6bWVkaXVtIj5KU09OOjpQYXRoLsKgIEl0JiMzOTtzIGxpa2UgWFBh dGgsIGJ1dCBmb3IgSlNPTi7CoCBJICpoYXZlKiB1c2VkIEpTT05wYXRoIGJlZm9yZSwganVzdCBu b3QgaW4gUGVybC7CoCBJZiB5b3UmIzM5O3JlIGludGVyZXN0ZWQgaW4gSlNPTlBhdGgsIGNoZWNr IG91dMKgPC9zcGFuPjxmb250IGNvbG9yPSIjMDAwMDAwIiBzaXplPSIzIj48YSBocmVmPSJodHRw Oi8vZ29lc3NuZXIubmV0L2FydGljbGVzL0pzb25QYXRoLyI+aHR0cDovL2dvZXNzbmVyLm5ldC9h cnRpY2xlcy9Kc29uUGF0aC88L2E+LjwvZm9udD48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9leHRy YSI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBGcmksIE1hciAxMCwgMjAxNyBhdCA4 OjU3IEFNLCBNYXJpb3MgbHliZXJhayA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0 bzptYXJpb3MubHliZXJha0BnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5tYXJpb3MubHliZXJh a0BnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJn bWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2Nj IHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgZGlyPSJsdHIiPkhlbGxvIGNvbW11bml0eSw8 YnI+PGRpdj48YnI+aSBoYXZlIGEganNvbiBmaWxlLCB3aXRoIGEgc3RydWN0dXJlIGxpa2UgdGhp czo8YnI+PGJyPns8YnI+JnF1b3Q7MTA2JnF1b3Q7IDogezxicj7CoMKgwqDCoMKgICZxdW90O2lk NTQwMTEmcXVvdDsgOiBbPGJyPsKgwqDCoMKgwqDCoMKgwqAgezxicj7CoMKgwqDCoMKgwqDCoMKg wqDCoMKgICZxdW90O3BhcnRubzEmcXVvdDsgOiAmcXVvdDsxNjY5MDYxNyZxdW90Ozxicj7CoMKg wqDCoMKgwqDCoMKgIH0sPGJyPsKgwqDCoMKgwqDCoMKgwqAgezxicj7CoMKgwqDCoMKgwqDCoMKg wqDCoMKgICZxdW90O3BhcnRubzImcXVvdDsgOiAmcXVvdDs1ODk5MTgwJnF1b3Q7PGJyPsKgwqDC oMKgwqDCoMKgwqAgfTxicj7CoMKgwqDCoMKgIF0sPGJyPsKgwqDCoMKgwqAgJnF1b3Q7cGFydHMm cXVvdDsgOiBbPGJyPsKgwqDCoMKgwqDCoMKgwqAgJnF1b3Q7MDg5OTE4MCZxdW90Oyw8YnI+wqDC oMKgwqDCoMKgwqDCoCAmcXVvdDsxNjkyMDYxNyZxdW90Ozxicj7CoMKgwqDCoMKgIF0sPGJyPsKg wqDCoMKgwqAgJnF1b3Q7aWQ1NjMyJnF1b3Q7IDogWzxicj7CoMKgwqDCoMKgwqDCoMKgIHs8YnI+ wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmcXVvdDtwYXJ0bm8xJnF1b3Q7IDogJnF1b3Q7MDkwNjk5 MTgwJnF1b3Q7PGJyPsKgwqDCoMKgwqDCoMKgwqAgfTxicj7CoMKgwqDCoMKgIF08YnI+wqDCoCB9 LDxicj7CoMKgICZxdW90OzU2MCZxdW90OyA6IHs8YnI+wqDCoMKgwqDCoCAmcXVvdDtpZDk0NTIm cXVvdDsgOiBbPGJyPsKgwqDCoMKgwqDCoMKgwqAgezxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg ICZxdW90O3BhcnRubzImcXVvdDsgOiAmcXVvdDsxNTY5ODU1JnF1b3Q7PGJyPsKgwqDCoMKgwqDC oMKgwqAgfTxicj7CoMKgwqDCoMKgIF0sPGJyPsKgwqDCoMKgwqAgJnF1b3Q7cGFydHMmcXVvdDsg OiBbPGJyPsKgwqDCoMKgwqDCoMKgwqAgJnF1b3Q7MDM2NTM2MjQmcXVvdDssPGJyPsKgwqDCoMKg wqDCoMKgwqAgJnF1b3Q7MTU4OTk4NTUmcXVvdDs8YnI+wqDCoMKgwqDCoCBdLDxicj7CoMKgwqDC oMKgICZxdW90O2lkNTc4JnF1b3Q7IDogWzxicj7CoMKgwqDCoMKgwqDCoMKgIHs8YnI+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAmcXVvdDtwYXJ0bm8zJnF1b3Q7IDogJnF1b3Q7MDM2NjM5MzYyNCZx dW90Ozxicj7CoMKgwqDCoMKgwqDCoMKgIH0sPGJyPsKgwqDCoMKgwqDCoMKgwqAgezxicj7CoMKg wqDCoMKgwqDCoMKgwqDCoMKgICZxdW90O3BhcnRubzQmcXVvdDsgOiAmcXVvdDswMzYzMjEzNjI0 JnF1b3Q7PGJyPsKgwqDCoMKgwqDCoMKgwqAgfTxicj7CoMKgwqDCoMKgIF08YnI+wqDCoCB9PGJy Pn08YnI+SSBuZWVkIHRvIHNwbGl0IHRoaXMganNvbiwgaW50byBmaWxlcywgbGlrZSB0aGlzOjxi cj48YnI+ZWFjaCBqc29uIGZpbGUsIHdpbGwgY29uc2lzdCBvZiBvbmUgb2JqZWN0LiAwMDAxMDYu anNvbiwgYW5kIDAwMDU2MC5qc29uLiAoYWxsIG5hbWVzLCBtdXN0IGdhdmUgNiBkaWdpdHMsIHNv IHplcm9zIG11c3QgYmUgYWRkZWQpPGJyPjxicj5JIGhhdmUgdHJpZWQgdG8gdXNlIGV2YWwgZm9y IHRoaXMsIGJ1dCBubyBsdWNrIHVwIHRvIG5vdy4uLjxicj48YnI+ZXhwZWN0ZWQgb3V0cHV0OiBq c29uIGZpbGUgMSwgbmFtZWQgMDAwMTA2Lmpzb246PGJyPjxicj7CoHs8YnI+wqDCoMKgICZxdW90 OzEwNiZxdW90OyA6IHs8YnI+wqDCoMKgwqDCoMKgwqDCoMKgICZxdW90O2lkNTQwMTEmcXVvdDsg OiBbPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAmcXVvdDtwYXJ0bm8xJnF1b3Q7IDogJnF1b3Q7MTY2OTA2MTcmcXVvdDs8YnI+ wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0sPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7 PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmcXVvdDtwYXJ0bm8yJnF1b3Q7IDog JnF1b3Q7NTg5OTE4MCZxdW90Ozxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTxicj7CoMKg wqDCoMKgwqDCoMKgwqAgXSw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgICZxdW90O3BhcnRzJnF1b3Q7 IDogWzxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnF1b3Q7MDg5OTE4MCZxdW90Oyw8YnI+ wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZxdW90OzE2OTIwNjE3JnF1b3Q7PGJyPsKgwqDCoMKg wqDCoMKgwqDCoCBdLDxicj7CoMKgwqDCoMKgwqDCoMKgwqAgJnF1b3Q7aWQ1NjMyJnF1b3Q7IDog Wzxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgezxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgJnF1b3Q7cGFydG5vMSZxdW90OyA6ICZxdW90OzA5MDY5OTE4MCZxdW90Ozxicj7C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTxicj7CoMKgwqDCoMKgwqDCoMKgwqAgXTxicj7CoMKg wqDCoMKgwqAgfTxicj5hbmQganNvbiBmaWxlIDIsIG5hbWVkIDAwMDU2MC5qc29uOjxicj48YnI+ ezxicj7CoMKgwqAgJnF1b3Q7NTYwJnF1b3Q7IDogezxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAmcXVvdDtpZDk0NTImcXVvdDsgOiBbPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHs8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnF1b3Q7 cGFydG5vMiZxdW90OyA6ICZxdW90OzE1Njk4NTUmcXVvdDs8YnI+wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBdLDxicj7CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmcXVvdDtwYXJ0cyZxdW90OyA6IFs8YnI+wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnF1b3Q7MDM2NTM2MjQmcXVvdDssPGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZxdW90OzE1ODk5ODU1JnF1b3Q7PGJyPsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIF0sPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZxdW90 O2lkNTc4JnF1b3Q7IDogWzxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7PGJy PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZxdW90O3BhcnRubzMmcXVv dDsgOiAmcXVvdDswMzY2MzkzNjI0JnF1b3Q7PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIH0sPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHs8YnI+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnF1b3Q7cGFydG5vNCZxdW90OyA6ICZx dW90OzAzNjMyMTM2MjQmcXVvdDs8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBdPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKg IH08YnI+PC9kaXY+PGRpdj5Ib3cgd291bGQgeW91IGhhbmRsZSB0aGlzPzxicj48L2Rpdj48L2Rp dj4NCjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PGJyIGNsZWFyPSJhbGwiPjxkaXY+PGJyPjwvZGl2 Pi0tIDxicj48ZGl2IGNsYXNzPSJnbWFpbF9zaWduYXR1cmUiIGRhdGEtc21hcnRtYWlsPSJnbWFp bF9zaWduYXR1cmUiPjxkaXYgZGlyPSJsdHIiPjxkaXY+PGRpdiBkaXI9Imx0ciI+PGRpdiBkaXI9 Imx0ciI+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEzcHgiPjxiIHN0eWxlPSJmb250LWZhbWlseTph cmlhbCxoZWx2ZXRpY2Esc2Fucy1zZXJpZiI+SnVzdGluIFJpdHRlbmhvdXNlPC9iPjxicj48L2Rp dj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTNweCI+PGRpdj48ZGl2PjxpIHN0eWxlPSJmb250LWZh bWlseTphcmlhbCxoZWx2ZXRpY2Esc2Fucy1zZXJpZiI+U2VuaW9yIEFwcGxpY2F0aW9uIERldmVs b3BtZW50IFRlY2huaWNpYW4swqA8L2k+PGkgc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLGhlbHZl dGljYSxzYW5zLXNlcmlmIj5JbmZvcm1hdGlvbiBUZWNobm9sb2d5PC9pPjwvZGl2PjxkaXY+PGkg c3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLGhlbHZldGljYSxzYW5zLXNlcmlmIj48c3Bhbj5IZXNi dXJnaDwvc3Bhbj7CoExpYnJhcmllczwvaT48L2Rpdj48L2Rpdj48ZGl2PjxkaXY+PHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OmFyaWFsLGhlbHZldGljYSxzYW5zLXNlcmlmIj48YnI+PC9zcGFuPjwv ZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLGhlbHZldGljYSxzYW5zLXNl cmlmIj4yMDjCoDxzcGFuPkhlc2J1cmdoPC9zcGFuPsKgTGlicmFyeTwvc3Bhbj48L2Rpdj48ZGl2 PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLGhlbHZldGljYSxzYW5zLXNlcmlm Ij48Yj5vOjwvYj7CoDU3NC02MzEtMzA2NTwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJm b250LWZhbWlseTphcmlhbCxoZWx2ZXRpY2Esc2Fucy1zZXJpZiI+PGI+ZTrCoDwvYj48L3NwYW4+ PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLGhlbHZldGljYSxzYW5zLXNlcmlmIj48YSBo cmVmPSJtYWlsdG86anJpdHRlbmhAbmQuZWR1IiB0YXJnZXQ9Il9ibGFuayI+anJpdHRlbmhAbmQu ZWR1PC9hPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNp emU6MTNweCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLGhlbHZldGljYSxzYW5zLXNl cmlmIj48YnI+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxM3B4Ij48YSBocmVm PSJodHRwOi8vbGlicmFyeS5uZC5lZHUvIiBzdHlsZT0iY29sb3I6cmdiKDE3LDg1LDIwNCkiIHRh cmdldD0iX2JsYW5rIj48aW1nIHNyYz0iaHR0cDovL2Fzc2V0LmxpYnJhcnkubmQuZWR1L2Fzc2V0 cy9oZXNidXJnaF9hc3NldHMvbWFpbi8xLjAvZXNpZy9tYXJrLnBuZyI+PC9hPjwvZGl2PjwvZGl2 PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pg0KPC9kaXY+DQo= --001a113cda7077feb1054d0c7799--