1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# -*- coding: utf-8 -*- ## Copyright 2019 Trevor van Hoof and Jan Pijpers. ## Licensed under the Apache License, Version 2.0 ## Downloaded from https://janpijpers.com or https://gumroad.com/janpijpers ## See the license file attached or on https://www.janpijpers.com/script-licenses/ ''' Name: jsonFromBlob Description: simple example on how to read json data that has noise / random data surrounding it. in a nutshell it just finds everything between { and } at the beginning of a line. ''' import re data = """ dsjkfkjdsaf;lkjsadklfjlksadjfklsjdfjlksajfks < random data XD { "contents": "", "file_type": "json", "listy_things": [ { "key": "sleutel", "value": "gratis" } ], "version": { "major_version": 0, "minor_version": 1 } } jfkdsjfkdsajfsajlkfdsajfjskfdslkj other random data /o/ { "list": [ "entry" ], } } """ import json pattern = re.compile(r'{(.+?)\n}\n', flags = re.DOTALL) for x in pattern.findall(data): jsonData = eval("{%s}"%x) print json.dumps(jsonData, indent=4) |