Laravel - Remove slashes on JSON Response
How to escape slashes on JSON response in Laravel
I built an API endpoint in Laravel - a JSON response with a body. When I looked at the formatted response using a JSON formatter, it looked good when I was working on Salary Calculation in Germany.
return response()->json(['url' => 'https://www.domain.com/api/test']);
I expected a response like this and was what I saw in a JSON formatter.
https://www.domain.com/api/test
But the raw response looked like this, with unescaped back slashes on the JSON body.
https:\/\/www.domain.com\/api\/test
I used Laravel's default JSON response helper and upon looking into it, there are options that you can set on the response to escape the slashes - JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT
. response()->json() takes the data as the first parameter, HTTP status code as the next, HTTP headers as the next and then options.
return response()->json(
['url' => 'https://www.domain.com/api/test'],
200,
[],
JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT
);