セットをJSONで表す方法は?
JSONは、スカラー、配列/リスト、およびマップのデータ構造(Javaでの同等物)をサポートしています。 A Setは、そのままではJSONでサポートされていません。 JSONでセットを表す方法をいくつか考えました。 [1]-リストとして ただし、リストには独自の順序があるため、次の2つのリストはリスト["a", "b"]と["b", "a"]同じではありませんが、セットと同じである必要があります。 [2]-地図として マップのキーセットを使用し、値は無視してください。 しかし、再び、標準的な比較を使用すると、2つはマップと同じではありません。 {"a": "foo", "b": "bar"}、 {"a": null, "b": null} [3]-マップとして、特別な値で スカラを取り、言う0かnull、またはマップのすべてのキーの値になるように強制します。 {"a": 0, "b": 0} このように、標準の比較ツールでは、キーの順序が変更されても、オブジェクトは同じです。 ただし、この手法は、JSONドキュメントを無関係なデータで汚染します。 [4]-順序付きリストとして 最初の提案に戻りますが、今回は順序付きリストです。この種の比較問題を解決します。 ただし、並べ替えの複雑さも考慮に入れる必要があります。また、マップ表記は重複を処理しますが、並べ替えリストは処理しません。例: {"a": 400, "a": 9}として処理されますが{"a": 9}、["g", "g"]常に処理されます["g", "g"]。 そうは言っても、リスト表記はより明確であるように見えますが、マップ表記はキーの複製に対してより堅牢であり、特別な値について一貫性を保つことが難しくなっています(nullそのための良い選択のように見えますが)。 どう思いますか?セットをJSONでどのように表現しますか? PS これは単にJSONに関する問題であることに注意してください。yamlのような他のフォーマットも利用できることは知っています。まだ...