プログラムからJSONを出力する場合、Object内のkeyの順番が固定されている保証はない。二つのJSONを比較したい場合、出力のたびにkeyの順番が違うとdiffを使ってもうまく比較できない。 jqのオプションで--sort-keysオプションを使用すると、各オブジェクトのkeyを並び替えて出力してくれるため、JSONをjqで整形したうえでdiffするといい。 --sort-keys / -S: Output the fields of each object with the keys in sorted order. $ diff <(./JSON出力プログラム | jq . --sort-keys) <(./JSON出力プログラム | jq . --sort-keys)