Laravel 6 - упрощенное сопоставление входящих данных JSON API - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть входящий API для разработки в нашем приложении, и мы хотим упростить наш код в отношении преобразования данных. Сообщение JSON будет содержать много элементов и вложенных массивов. Так как мы не хотим развертывать новый код при изменении значения, мы хотим решить преобразование данных в некотором файле или таблице, чтобы мы могли быстро отредактировать / добавить значение.

Например, в элементе tags у нас будет несколько значений, которые нам нужно преобразовать, и мы хотим сделать это вне кода, чтобы нам было легко управлять отображением данных API без выпуска нового кода.

Мы также рассматриваем возможность использования JSONata для данных преобразование, но мы не уверены, может ли такой файл template преобразовать данные. Этот код nodeJS будет в облачной функции Google, если это возможно, в противном случае нам придется go при первом подходе решить все преобразования данных с помощью Laravel.

Кто-нибудь сделал подобное разработка для этого требования?

С уважением

 "objects": 
    {
      "address": "Address", 
      "age": 0, 
      "bathroom_amount": 0, 
      "branch": {
        "address": "Juramento 1111", 
        "alternative_phone": "1111111", 
        "alternative_phone_area": "11", 
        "alternative_phone_country_code": "+549", 
        "alternative_phone_extension": "", 
        "branch_type": "Internal", 
        "contact_time": "9 a 19 hs", 
        "created_date": "2020-02-27T19:52:39", 
        "display_name": "Juan Pablo", 
        "email": "juan@x.org", 
        "geo_lat": "-34.556", 
        "geo_long": "-58.447", 
        "gm_location_type": "ROOFTOP", 
        "id": 17661, 
        "is_default": false, 
        "logo": "https://domain/logograndesuma.jpg", 
        "name": "Example", 
        "pdf_footer_text": "Footer", 
        "phone": "11111", 
        "phone_area": "11", 
        "phone_extension": "", 
        "use_pdf_footer": true
      }, 
      "company": {
        "contact_info": "", 
        "key": "11111111", 
        "logo": "https://domain/image.jpg", 
        "name": "Keller Williams BA"
      },
      "created_at": "2020-02-27T19:52:37", 
      "custom1": "0.00", 
      "custom_tags": [], 
      "deleted_at": "2020-03-10T21:02:45", 
      "description": "Description", 
      "development": null
      "tags": [
        {
          "id": 5, 
          "name": "Electricidad", 
          "type": 1
        }, 
        {
          "id": 6, 
          "name": "Pavimento", 
          "type": 1
        }
      ]
}
...