title: Multilevel JSON diff in python
body: <p>Please link me to answer if this has already been answered,
  my problem is i want to get diff of multilevel json which is unordered.</p>
  
  <pre><code>x=json.loads('''[{"y":2,"x":1},{"x":3,"y":4}]''')
  y=json.loads('''[{"x":1,"y":2},{"x":3,"y":4}]''')
  z=json.loads('''[{"x":3,"y":4},{"x":1,"y":2}]''')
  
  import json_tools as jt
  import json_delta as jd
  
  
  print jt.diff(y,z)
  print jd.diff(y,z)
  print y==z
  print x==y
  </code></pre>
  
  <p>output is </p>
  
  <pre><code>[{'prev': 2, 'value': 4, 'replace': u'/0/y'}, {'prev': 1, 'value': 3, 'replace': u'/0/x'}, {'prev': 4, 'value': 2, 'replace': u'/1/y'}, {'prev': 3, 'value': 1, 'replace': u'/1/x'}]
  [[[2], {u'y': 2, u'x': 1}], [[0]]]
  False
  True
  </code></pre>
  
  <p>my question is how can i get y and z to be equal or if there are actual differences depending on non-order of the JSON.</p>
  
  <p>kind of unordered List of dictionaries but i am looking for something which is level-proof that is list/dict of dictionaries of list/dictionaries ...</p>