Advertisement
Guest User

json DIFF

a guest
Aug 31st, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.93 KB | None | 0 0
  1. import json
  2. from copy import copy
  3. from pprint import pprint
  4. from json_delta import diff as diff2
  5. from jsondiff import diff as diff1
  6.  
  7.  
  8. def jsonDiff(path1, path2):
  9.     with open(path1) as f1:
  10.         data1 = json.loads(f1.read())
  11.     with open(path2) as f2:
  12.         data2 = json.loads(f2.read())
  13.     node = {"u'buildings'":{"u'0'":{"u'accelerate_amount'":0,"u'cooldown'":{"u'ts'":1472549321},"u'grade'":"u'1'","u'grades'":{"u'0'":{"u'production'":{"u'amount'":0,"u'ts'":1472119665}},"u'1'":{"u'production'":{"u'amount'":0,"u'ts'":1472120792}},"u'10'":{"u'production'":{"u'amount'":0,"u'ts'":1472206608}},"u'11'":{"u'production'":{"u'amount'":0,"u'ts'":1472206621}},"u'12'":{"u'production'":{"u'amount'":0,"u'ts'":1472206628}},"u'13'":{"u'production'":{"u'amount'":0,"u'ts'":1472203363}},"u'2'":{"u'production'":{"u'amount'":0,"u'ts'":1472206407}},"u'3'":{"u'production'":{"u'amount'":0,"u'ts'":1472206500}},"u'4'":{"u'production'":{"u'amount'":0,"u'ts'":1472206526}},"u'5'":{"u'production'":{"u'amount'":0,"u'ts'":1472206544}},"u'6'":{"u'production'":{"u'amount'":0,"u'ts'":1472206568}},"u'7'":{"u'production'":{"u'amount'":0,"u'ts'":1472206578}},"u'8'":{"u'production'":{"u'amount'":0,"u'ts'":1472206597}},"u'9'":{"u'production'":{"u'amount'":0,"u'ts'":1472206603}}},"u'store_amount'":0}}}
  14.     data1 = rm_null(data1)
  15.     data2 = rm_null(data2)
  16.  
  17. #    result2 = diff2(json.dumps(data1),json.dumps(data2))
  18. #    pprint(result2)
  19.  
  20.  
  21.     result1 = diff1(data1, data2)
  22.     pprint(result1)
  23.  
  24.  
  25.  
  26. def rm_null(node):
  27.     for k ,v in node.items():
  28.         if k == "":
  29.             print 1
  30.         if isinstance(v, dict):
  31.             rm_null(v)
  32.         if not v or str(v) == "0" or v == 0:
  33.             node.pop(k)
  34.     return node
  35.  
  36.  
  37.  
  38. jsonDiff("C:/Users/righo/AppData/Roaming/Skype/My Skype Received Files/python_284.json",
  39.          "C:/Users/righo/AppData/Roaming/Skype/My Skype Received Files/sharp_284.json")
  40.  
  41.  
  42. #print diff(['a', 'b', 'c'], ['a', 'c'])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement