On 2013-05-27, Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> wrote: > On Sun, 26 May 2013 21:32:40 -0700, Avnesh Shakya wrote: > >> But I want to compare line by line and value by value. but i found that >> json data is unordered data, so how can i compare them without sorting >> it. please give me some idea about it. I am new for it. I want to check >> every value line by line. > > Why do you care about checking every value line by line? As you say > yourself, JSON data is unordered, so "line by line" is the wrong way to > compare it.
There's no such thing as "lines" in JSON anyway. Outside of string literals, all whitespace is equivalent, so replacing all newlines with space characters results in equivalent blobs of JSON -- but one is a single line, and the other is multiple lines. > The right way is to decode the JSON data, and then compare whether it > gives you the result you expect: > > a = json.load("file-a") > b = json.load("file-b") > if a == b: > print("file-a and file-b contain the same JSON data") > > If what you care about is the *data* stored in the JSON file, this is > the correct way to check it. Yup. -- Grant Edwards grant.b.edwards Yow! Are we laid back yet? at gmail.com -- http://mail.python.org/mailman/listinfo/python-list