1
0

ldtk_cjson.py 814 B

1234567891011121314151617181920212223242526272829303132333435
  1. import sys
  2. is_pkpy = not hasattr(sys, 'getrefcount')
  3. if is_pkpy:
  4. import cjson as json
  5. else:
  6. import json
  7. _2489KB = 'WorldMap_GridVania_layout.ldtk'
  8. _1093KB = 'WorldMap_Free_layout.ldtk'
  9. _339KB = 'Typical_2D_platformer_example.ldtk'
  10. with open(f'res/{_2489KB}', 'r') as f:
  11. json_content = f.read()
  12. data: dict = json.loads(json_content)
  13. assert isinstance(data, dict)
  14. # serialize and deserialize
  15. dumped: str = json.dumps(data)
  16. for _ in range(10):
  17. loaded: dict = json.loads(dumped)
  18. assert len(data) == len(loaded)
  19. assert data == loaded
  20. #### very very slow!!
  21. import pickle
  22. with open(f'res/{_339KB}', 'r') as f:
  23. json_content = f.read()
  24. data: dict = json.loads(json_content)
  25. data_pickled: bytes = pickle.dumps(data)
  26. assert isinstance(data_pickled, bytes)
  27. assert pickle.loads(data_pickled) == data