2017-11-15 18 views
0

JSONオブジェクトでユーザーの選択を表現しようとしていますが、正確な表現が不明です。JSONの複数の要素に推奨されるスタイルはありますか?

ユーザーは、アイテムのリストから最大4つの一意の要素を選択できます。アイテムのリストは時間とともに増加しますが、4つの要素の選択はこれまでどおり変更することはできません(不可能ではありません)。

4つのプロパティを持つオブジェクトまたは配列として選択を保存する方が良いですか?ここに私の根拠である:


としての特性

"selection" : { 
    "selection1" : "itemFoo", 
    "selection2" : "itemBar", 
    "selection3" : "itemBaz", 
    "selection4" : null //<-- User does not need to select all 4 items 
} 

長所:

    以上の4つの項目は、設計により選択できないようにし

短所:

  • がアレイ配列

    "selection" : [ 
        "itemFoo", "itemBar", "itemBaz" 
    ] 
    
    として

よりも拡張をより困難にするアレイ

  • よりも一意性をチェックすることをより困難にします

    の長所:

    • 少ないオーバーヘッド
    • 複数の項目のより直感的な表現

    短所:

    • は、アレイは4つ以上が含まれていないことを確実にするためにアサーションを必要要素
  • +0

    「配列に4つ以上のアイテムがある場合、アサーションが必要です」という意味はどうですか? –

    +0

    最初に述べた要件は、ユーザーが4つまでを選択できますが、それ以上のアイテムは選択できないということです。そのため、配列を使用する場合、配列に最大4つの項目が含まれていることをアサートする必要があります。 –

    +1

    最初のアプローチを使用することは過剰です。特にアイテムを選択/選択解除できる場合は、リストを作成するのが難しくなります。アイテムの数を宣言することのトレードはそれほど大きくないので、私は第2のアプローチに行きます。 –

    答えて

    1

    最初のアプローチは、過剰なものです。 特にアイテムを選択/選択解除できる場合は、リストを作成するのが難しくなります。

    アイテムの数を宣言することのトレードはそれほど大きくないので、私は第2のアプローチに行きます。

    使用するプログラミング言語に基づいて、目的のサイズを適用することができます。

    関連する問題