When I do the following,
$res1 = '{"n":2,"stuff":[{"key1":"value1","key2":"value2"}]}';
$res1 = json_decode($res);
var_dump($res1);
It outputs:
object(stdClass)#289 (2) { ["n"]=> int(2) ["stuff"]=> array(1) { [0]=> object(stdClass)#288 (2) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" } } }
However, when I save the string $res1 into a.txt file named string.txt with the contents:
'{"n":2,"stuff":[{"key1":"value1","key2":"value2"}]}'
I do:
$filename = "path/string.txt";
$res2 = file_get_contents($filename);
$res2 = json_decode($res2);
It outputs:
NULL
How can I use json_decode for $res1 from a.txt file the same way as I can use json_decode for $res1 after declaration?
To Whom It May Concern:
A reason not mentioned about why it wasn't working for me was because my code editor didn't like the apostrophes (as in Name's) when declaring a $res1 with apostrophes, and I escaped the apostrophes as \' that became present in the string.txt file used for $res2.
There are a couple of things you can check to fix this issue:
Make sure that the file "string.txt" is located in the correct directory and that the path in the $filename variable is correct.
Check if the file "string.txt" is encoded in the correct format. json_decode() expects a UTF-8 encoded string, so make sure that the file is saved in that format.
Make sure that the contents of the file "string.txt" are exactly the same as the contents of the $res1 variable. If there are any extra spaces or line breaks, json_decode() will return NULL.
Check if there is any syntax error in the json, like missing quotes or commas, if so the json_decode will return NULL.
Also, make sure to check the variable name, you are using $res1 in your first example but $res2 in the second example, check if you are using the correct variable.
You can use the function json_last_error() after json_decode() to get the error message, this will give you more information about what is causing the problem.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.