Конвертировать JSON в PHP Laravel - PullRequest
0 голосов
/ 18 октября 2018

Я конвертирую json в larvel php, и мне интересно, как вы конвертируете это:


JSON:

"assetList":[
  {
    "name":"https://mobilize-uploads-prod.s3.amazonaws.com/uploads/event/Test-Logo-Small-Black-transparent-1_20180730154641244030.png"
  },
  {
    "name":"https://mobilize-uploads-prod.s3.amazonaws.com/uploads/event/Test-Logo-Small-Black-transparent-1_20180730154641244030.png"
  },
  {
    "name":"https://mobilize-uploads-prod.s3.amazonaws.com/uploads/event/Test-Logo-Small-Black-transparent-1_20180730154641244030.png"
  }
]

larvel php:

'thumbnail' => 'assetList'['name'],

Ваш ответ будет выглядеть примерно так:

 'thumbnail' => 'Your code here',

Предполагается, что для вывода изображения есть 3 разных изображения, я просто использовал одно в качествепример.Сейчас он ничего не выводит, поэтому он не работает, может быть, потому что это массив, и я не уверен, как вы напишите такой массив для работы.Я думаю, что массив мешает ему работать.Любая помощь будет принята с благодарностью.

edit: Я только что узнал, что это larvel php

Ответы [ 3 ]

0 голосов
/ 19 октября 2018

Пожалуйста, смотрите мой ответ ниже

  1. Сначала ваш Json должен быть таким, как показано ниже

{"assetList":[
  {
    "name":"https://mobilize-uploads-prod.s3.amazonaws.com/uploads/event/Test-Logo-Small-Black-transparent-1_20180730154641244030.png"
  },
  {
    "name":"https://mobilize-uploads-prod.s3.amazonaws.com/uploads/event/Test-Logo-Small-Black-transparent-1_20180730154641244030.png"
  },
  {
    "name":"https://mobilize-uploads-prod.s3.amazonaws.com/uploads/event/Test-Logo-Small-Black-transparent-1_20180730154641244030.png"
  }
] }

Сначала Сделайте Json_decode в php для ваших данных.

$json_data = [YOUR_JSON_DATA]
$data_arr['data'] = json_decode($json_data,true);

Передайте массив ветке // для фреймворка Symfony php

$this->render("app:index.html.twig", $data_arr);

В вашей ветке необходимо обновить код, как показано ниже, для отображения URL-адресов изображений

{% for img_data in data.assetList %}
    {{ img_data.name }}
{% endfor %}

Дайте мне знать, если у вас возникнут какие-либо проблемы.

0 голосов
/ 19 октября 2018

Если вы хотите построить структуру, аналогичную JSON внутри Twig, вы можете сделать это следующим образом:

{% set thumbnail = { "assetList": [{"name": "http://..."}, {"name": "http://..."}] } %}

Если вы хотите передать подобную структуру в представление, например, сделать что-то вроде $this->render('my_template', ['thumbnail' => ...] тогда ваш php-код для генерации массива, подобного массиву в JSON, может выглядеть следующим образом:

[
    'assetList' => [
        [
            'name' => 'http://...',
        ],
        [
            'name' => 'http://...',
        ],
    ]
]

edit: Также доступ к нему в Twig не будет assetList["name"], это будет:

{{ thumbnail["assetList"][0]["name"] }}

Где 0 - смещение записи списка, то есть 0-2, если у вас есть 3 изображения.

0 голосов
/ 19 октября 2018

Если вы передали это json как array в сторону twig, вам понадобится цикл для считывания массива assetList

{% for asset in assetList %}
    {{ asset.name }}
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...