2017-01-26 4 views
1

Это первый раз, когда мы используем JSON API в наших проектах и ​​в соответствии со спецификацией на их сети, это то, что обычный JSON ответ API должен выглядетьДолжен ли элемент атрибута JSON Api содержать вложенные объекты?

HTTP/1.1 200 OK 
Content-Type: application/vnd.api+json 

{ 
    "data": [{ 
    "type": "articles", 
    "id": "1", 
    "attributes": { 
     "title": "JSON API paints my bikeshed!", 
     "body": "The shortest article. Ever.", 
     "created": "2015-05-22T14:56:29.000Z", 
     "updated": "2015-05-22T14:56:28.000Z" 
    }, 
    "relationships": { 
     "author": { 
     "data": {"id": "42", "type": "people"} 
     } 
    } 
    }], 
    "included": [ 
    { 
     "type": "people", 
     "id": "42", 
     "attributes": { 
     "name": "John", 
     "age": 80, 
     "gender": "male" 
     } 
    } 
    ] 
} 

Мы не уверены, должны атрибуты данных всегда плоские, или атрибуты могут также содержать вложенные объекты, такие как местоположение, например

"data": [{ 
     "type": "articles", 
     "id": "1", 
     "attributes": { 
      "title": "JSON API paints my bikeshed!", 
      "body": "The shortest article. Ever.", 
      "created": "2015-05-22T14:56:29.000Z", 
      "updated": "2015-05-22T14:56:28.000Z", 
      "location": 
      { 
      "lat": "0.00", 
      "long": "0.00"} 
     }, 

ответ

0

После декодирования вашего JSON, Результат -

Array 
(
    [data] => Array 
     (
      [0] => Array 
       (
        [type] => articles 
        [id] => 1 
        [attributes] => Array 
         (
          [title] => JSON API paints my bikeshed! 
          [body] => The shortest article. Ever. 
          [created] => 2015-05-22T14:56:29.000Z 
          [updated] => 2015-05-22T14:56:28.000Z 
          [location] => Array 
           (
            [lat] => 0.00 
            [long] => 0.00 
           ) 

         ) 

        [relationships] => Array 
         (
          [author] => Array 
           (
            [data] => Array 
             (
              [id] => 42 
              [type] => people 
             ) 

           ) 

         ) 

       ) 

     ) 

    [included] => Array 
     (
      [0] => Array 
       (
        [type] => people 
        [id] => 42 
        [attributes] => Array 
         (
          [name] => John 
          [age] => 80 
          [gender] => male 
         ) 

       ) 

     ) 

) 

И здесь местоположение содержит массив, поэтому это будет вложенный объект.

+0

мой вопрос делает JSON апи рекомендует вложенные объекты внутри атрибутов элемента – mko

+0

Да! json api рекомендует вложенные объекты. –

+0

Откуда вы это знаете? – mko

Смежные вопросы