I want to decode gallery array JSON objects in Laravel 5.1. my JSON is:
{
"title": "aaaaaaaaaaaaaaaa",
"category_id": "1",
"user_id": "1",
"gallery": "[{name: \"XCB808tvXNpqXKqekA2HlkJ8H.jpg\",size:5112},{name: \"s6kA6B0e5m1sdSAjPXqNwtiy4.jpg\", size: 13135}]"
}
When I use this code, return me null
:
public function store(Request $request)
{
$json = json_decode($request['gallery'],true);
return $json;
}
}
and this is dd($request['gallery'])
result
[{'name': "XCB808tvXNpqXKqekA2HlkJ8H.jpg",'size':5112},{'name': "s6kA6B0e5m1sdSAjPXqNwtiy4.jpg", 'size': 13135}]
The decoding process is right. I think your problem is you could have a malformed JSON string.
Replace the single quotes around property names with double quotes:
[{"name": "XCB808tvXNpqXKqekA2HlkJ8H.jpg","size":5112},{"name": "s6kA6B0e5m1sdSAjPXqNwtiy4.jpg", "size": 13135}]
I am not pretty sure about your program flow but as you are injecting Request dependency to the store function, I assume the JSON object is a part of your request. In that case, you can try,
$input = $request->json()->all();
Just print_r($input) and see what you are getting.
If JSON object is not a part of your request, you missed passing $json to your function. This is a wild guess, though!
Just dropping by for having the same issue of trying to get the json formatted response (Laravel 8.8.0). The way I was able to get it working was using:
$jsonFormattedResult = json_decode ($response->content(), true);
Hope it helps someone out. ( '-')/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With