2017-03-14 4 views
-2

私のアプリケーションはJSONファイルを生成します。更新があると、生成されたJSONファイルが更新されます。注文は混ざり合ってしまいます。ファイルがあまり変更されていないにもかかわらずdiffが表示された場合、diffは、ファイルの内容が並べ替えられて(混在しているため)、大きな変化があるように見せます。私のdiffがきれいに見えるようにファイルの内容の同じ順序を持つことができる方法はありますか?JSON Order MixedUp


one.jsonの内容を想定むしろ私がするアップデートを必要とする更新

{ 
    "test2": { 
    "key": "test2", 
    "value": "test2" 
    }, 
    "test1": { 
    "key": "test1", 
    "value": "test1" 
    }, 
    "test": { 
    "key": "test", 
    "value": "test" 
    } 

{ 
    "test": { 
    "key": "test", 
    "value": "test" 
    }, 
    "test1": { 
    "key": "test1", 
    "value": "test1" 
    } 
} 

です:

{ 
    "test": { 
    "key": "test", 
    "value": "test" 
    }, 
    "test1" : { 
    "key": "test1", 
    "value": "test1" 
    }, 
    "test2" : { 
    "key": "test2", 
    "value": "test2" 
    } 
} 
+0

混ざっているもの* *の順序を使用することをお勧め? – Phil

+0

JSONファイルのコンテンツオーダーが混在しています。 { "キー": "テスト"、 "値": "テスト" }、 "TEST1":{ "キー": "TEST1" one.jsonの内容を想定 "テスト" があります、 "値":{ "キー": "TEST2"、 "値": "TEST2" }、 "TEST1":{ 「更新 "TEST2" 後 "TEST1" } "value": "test1" }、 "test":"value": "test" 代わりに、出力は – magi

+0

である必要があります。* order *を意味する唯一のJSON直列化可能オブジェクトは配列です。それはあなたが話していることですか?おそらくあなたはいくつかの例を示すべきです – Phil

答えて

2

JavaScriptがキーの順序があるオブジェクト保証されておらず、また大切ですか。

あなたテスト項目の順序が重要であれば、私はあなたが、配列

[{ 
    "key": "test", 
    "value": "test" 
}, { 
    "key": "test1", 
    "value": "test1" 
}, { 
    "key": "test2", 
    "value": "test2" 
}]