2017-06-20 2 views
0

私は基本的にAPIであるPhoenixアプリケーションを持っています。私は、次のビューを持っている:「ID」と「電子メール」は最後である理由jsonレスポンスの変わったフォーマット

{ 
    "studio": { 
     "name": "asdasdsadsa123123", 
     "id": 4 
    }, 
    "id": 1, 
    "email": "[email protected]" 
} 

:私はポストマンにこのエンドポイントを発射すると

defmodule TattooBackend.Web.API.V1.AccountView do 
    use TattooBackend.Web, :view 

    alias TattooBackend.Repo 

    def render("my_account.json", %{account: account}) do 
    account = account |> Repo.preload(:studio) 
    studio = account.studio 

    %{ 
     id: account.id, 
     email: account.email, 
     studio: %{ 
     id: account.studio.id, 
     name: account.studio.name 
     } 
    } 
    end 
end 

それは形式を以下にレスポンスを返しますか?彼らは最初にする必要があります...

+4

マップはエリクサーで順不同です:https://stackoverflow.com/questions/38386314/why- elixirs-mapset-become-32要素後に – Dogbert

+3

これらはJSで注文されていません。JSONは次の場所から来ます:https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-注文 –

+3

スニペットの素晴らしい電子メール:) – PatNowak

答えて

1

本当に、それは大丈夫です。それらの値の順序が重要な場合、消費者はおそらく毎回正しく行われるように、それが予想される方法でそれらの順序を処理する必要があります。マップ内

キーと値のペアは、任意の順序に従わない

ソース:https://hexdocs.pm/elixir/Map.html

関連する問題