2017-07-14 5 views
0

私はこのようになりますJSON持っている場合:jsonデータ構造にカスタムオブジェクトを追加するのは悪い習慣ですか?

{ 
    events: { 
     event1: { 
      uid: "user1" 
     } 
    } 
    users: { 
     user1: { 
      name: "foo" 
     } 
    } 
} 

を私はコードでJSONをモデル化するために、ここでスウィフトを使用します。

struct User { 
    let name: String 
} 

を、私は構成のようにイベントを同じ方法でモデル化することだった場合、それは次のようになります:ユーザーの構造がそうのようになります。最終的に

struct Event { 
    let uid: String 
} 

、私がアクセスしたいと言いますID(uid)がイベントに表示されるユーザーに関する情報。 Userオブジェクトを直接Eventに保存することは適切でしょうか?すなわち:

struct Event { 
    let uid: String 
    let user: User 
} 

私はUserオブジェクトをロードする場所を知っているuidを使用し、Eventの初期設定からユーザーに関する情報を持つことができます。生のJSONとは異なる属性を含む構造体をプログラムに含めることはできますか?そうでない場合、この場合にはいつUserオブジェクトをロードする必要がありますか?ありがとう。

+4

JSONは単なるデータ交換フォーマットです。あなたのアプリケーションの仕組みについては何も言いません。 – 4castle

答えて

0

JSONは辞書や配列として解析することができますが、レイアウトによって異なります。あなたの構造体の場合、それらはあなたのJSONからのデータを保持するためのものです。あなたがJSONキーと異なる属性名を持つのが快適であれば、それは問題ありません。ボタンラインはJSONを解析し、辞書や配列から取得した値のstruct baseを作成する必要があります。このプロセスでは、構造体の属性名は関係ありません。

+0

構造体はどのくらい複雑になりますか? JSONを解析するのが難しくなりますか? –

+0

@ArchieGertsman必要に応じて構造体を構造体に入れることができます。構造体はすべてあなたの好みに依存します。 JSONの解析にはそれほど難しいことはありません。レベルごとにレベルを上げるだけです。このプロセスでは、レベルごとに構造体を作成することもできます。 –

関連する問題