Как я могу получить результат моего массива без кавычек - PullRequest
1 голос
/ 20 мая 2019

Я получаю свои данные в таблице. У меня есть массив, хранящийся в виде строки, которую я хочу, когда я получаю эти данные, я не получаю их с помощью "" "", и вторая проблема, которую я получаю с помощью slaches!как fonctionnalites.это то, что я получаю

  {
        "id": 1,
        "icon": "/lsapp/public/projects/icon/1558102023logoMazad.png",
        "descriptions": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris ",
        "fonctionnalites": "[\"CreativeDesign\",\"RetinaReady\",\"ModernDesign\",\"DigitalMarketingBranding\",\"rcveq\"]",
        "screenshoot": "[\"/lsapp/public/projects/screenshoot/1558102023mazad1.png\",\"/lsapp/public/projects/screenshoot/1558102023mazad2.png\",\"/lsapp/public/projects/screenshoot/1558102023mazad3.png\",\"/lsapp/public/projects/screenshoot/1558102023mazad4.png\"]",
    },

, и я хочу получить это вот так

  {
        "id": 1,
        "icon": "/lsapp/public/projects/icon/1558102023logoMazad.png",
        "descriptions": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris ",
        "fonctionnalites": ["CreativeDesign","RetinaReady","ModernDesign","DigitalMarketingBranding","rcveq"],
        "screenshoot": ["/lsapp/public/projects/screenshoot/1558102023mazad1.png\","/lsapp/public/projects/screenshoot/1558102023mazad2.png","/lsapp/public/projects/screenshoot/1558102023mazad3.png","/lsapp/public/projects/screenshoot/1558102023mazad4.png"],
    },

и это то, что я делаю, чтобы получить мой результат

public function getproject(Request $request)
{
    $services = WebProjects::all();
    return response()->json($services);
}

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Кажется, что ваши члены fonctionnalites и screenshoot уже закодированы в json.

// in this example, the sub array "toto" is an encoded array
$arr = ["foo" => "bar", "toto" => json_encode(["forty", "two"])];
echo json_encode($arr); // outputs : {"foo":"bar","toto":"[\"forty\",\"two\"]"}

Вы можете сначала декодировать его, прежде чем перекодировать весь массив / объект

$arr = ["foo" => "bar", "toto" => json_encode(["forty", "two"])];
echo json_encode($arr); //{"foo":"bar","toto":"[\"forty\",\"two\"]"}

$arr["toto"] = json_decode($arr["toto"]);
echo json_encode($arr); //{"foo":"bar","toto":["forty","two"]}
1 голос
/ 20 мая 2019

Попробуйте это:

return response()->json($services, 200, [], JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);

если у вас есть некодированные строковые данные в базе данных.

Ссылка на json flag и как flags используются в Laravel .

Кстати, Laravel понимает , когда Collection возвращается в качестве ответа, и сериализует его, вы можете просто набрать return $services;.

P. S. Посмотрите на ответ Сид , если ваши данные уже закодированы и хранятся в виде строки в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...