This question already has answers here:
json_decode to array
(12 answers)
Closed 2 years ago.
Hello I am trying to get the response from the cURL call to stack exchange api and want to convert the json response into a php array, is there a example code to show how to get this converted.
You can use json_decode() on the json object.
I highly recommand to give true in the second arg:
$php_object = json_decode($api_response, true);
True give you an associative array. I think it's useful for your case
Related
This question already has an answer here:
How to extract and access data from JSON with PHP?
(1 answer)
Closed 3 years ago.
I'm trying to acces to range but is tnot working
$json = '{"range":[[1,2,20],[3,4.5]]}';
var_dump(json_decode($json->'range'));//doesn't work
var_dump(json_decode($json['range']));//doesn't work
Whay is the way to acces to range?
You need to json_decode() your JSON string first to turn it into an object. After that you can access the object properties with the -> operator.
So the correct way is this
var_dump(json_decode($json)->range));
But it is more readable if you split it into multiple statements:
$decoded = json_decode($json);
var_dump($decoded->range);
you must use this one.
json_decode($json)->range;
This question already has answers here:
How to loop through PHP object with dynamic keys [duplicate]
(16 answers)
Closed 5 years ago.
if i solve this i will have my desired result for any expert this will take few minutes to guess and i am stuck in this from last 2 hours searching and googling but couldn't found the one i want. Okay so here is the thing ...
I am sending data through ajax to my php by doing JSON.stringify and receving that that to my php in the form of this
{"0":["BE","test","test","1993"],"1":["HSSC","test","test","1995"]}
All i want to do is to get the values and insert them to the separate variables.
You need to use json_decode to convert the string to array. You can pass the second parameter to this method to convert this to array instead of object. Then you can retrieve the data like
$string = '{"0":["BE","test","test","1993"],"1":["HSSC","test","test","1995"]}';
$array = json_decode($string, true);
print_r($array[0][0]);
Here's the example of it https://repl.it/HhI8/1
This question already has an answer here:
How to extract and access data from JSON with PHP?
(1 answer)
Closed 6 years ago.
I have a json text like this:
$text ='{"id":"12","count":"1","1":{"gkey":"g_c5218"},"0":{"gkey":"g_4b4c6"}}';
I want convert it to array:
$arr = json_encode($text,true);
Now I want call $arr['id'] But I get index error.
what is my wrong?
json_encode() - change an array to the json
json_decode() - change json to the array/object
You should use json_decode.
This question already has answers here:
What kind of string is this? How do I unserialize this string? [duplicate]
(2 answers)
Closed 6 years ago.
I receive a really long json array like following:
a:2:{s:18:"_gravity_form_lead";a:227:{s:3:"3.2";s:0:"";s:3:"3.3";s:5:"Name";s:3:"3.4";s:0:"";s:3:"3.6";s:1:"T";s:3:"3.8";s:0:"";i:4;s:14:"123456789-3505";i:6;s:0:"";s:3:"7.1";s:0:"";s:3:"9.2";s:0:"";s:3:"9.3";s:0:"";s:3:"9.4";s:0:"";s:3:"9.6";s:0:"";s:3:"9.8";s:0:"";i:12;s:0:"";i:10;s:0:"";i:11;s:0:"";s:4:"13.1";s:0:"";s:4:"13.2";s:0:"";s:4:"13.3";s:0:"";s:4:"13.4";s:0:"";s:4:"13.5";s:0:"";s:4:"13.6";s:0:"";i:14;s:0:"";i:15;s:0:"";i:16;s:0:"";i:84;s:0:"";i:85;s:0:"";i:18;s:0:"";i:19;s:0:"";i:20;s:0:"";i:21;s:0:"";i:22;s:0:"";i:88;s:0:"";i:89;s:0:"";i:90;s:0:"";i:91;s:0:"";i:92;s:0:"";i:93;s:0:"";i:94;s:0:"";i:96;s:0:"";i:97;s:0:"";i:98;s:0:"";i:102;s:0:"";i:99;s:0:"";i:100;s:0:"";i:101;s:0:"";i:104;s:0:"";i:105;s:0:"";i:106;s:0:"";i:107;s:0:"";i:108;s:0:"";i:109;s:0:"";i:110;s:0:"";i:112;s:0:"";i:113;s:0:"";i:114;s:0:"";i:115;s:0:"";i:116;s:0:"";i:117;s:0:"";i:118;s:0:"";s:4:"28.1";s:0:"";s:4:"28.2";s:0:"";s:4:"28.3";s:0:"";s:4:"28.4";s:0:"";s:4:"28.5";s:0:"";s:4:"28.6";s:0:"";i:29;s:0:"";i:30;s:0:"";s:4:"33.1";s:0:"";s:4:"33.2";s:0:"";s:4:"33.3";s:0:"";s:4:"33.4";s:0:"";s:4:"33.5";s:0:"";s:4:"33.6";s:0:"";i:35;s:0:"";i:36;s:0:"";i:37;s:0:"";i:38;s:0:"";i:41;s:0:"";s:4:"39.1";s:0:"";s:4:"39.2";s:0:"";s:4:"39.3";s:0:"";s:4:"39.4";s:0:"";s:4:"39.5";s:0:"";s:4:"39.6";s:0:"";i:121;s:0:"";i:122;s:0:"";i:123;s:0:"";i:124;s:0:"";i:126;s:0:"";s:5:"125.1";s:0:"";s:5:"125.2";s:0:"";s:5:"125.3";s:0:"";s:5:"125.4";s:0:"";s:5:"125.5";s:0:"";s:5:"125.6";s:0:"";i:128;s:0:"";i:129;s:0:"";i:130;s:0:"";i:131;s:0:"";i:132;s:0:"";s:5:"133.1";s:0:"";s:5:"133.2";s:0:"";s:5:"133.3";s:0:"";s:5:"133.4";s:0:"";s:5:"133.5";s:0:"";s:5:"133.6";s:0:"";i:135;s:0:"";i:136;s:0:"";i:137;s:0:"";i:138;s:0:"";i:139;s:0:"";s:5:"140.1";s:0:"";s:5:"140.2";s:0:"";s:5:"140.3";s:0:"";s:5:"140.4";s:0:"";s:5:"140.5";s:0:"";s:5:"140.6";s:0:"";i:142;s:0:"";i:143;s:0:"";i:144;s:0:"";i:145;s:0:"";i:146;s:0:"";i:149;s:0:"";i:150;s:0:"";i:151;s:0:"";i:152;s:0:"";i:153;s:0:"";s:5:"147.1";s:0:"";s:5:"147.2";s:0:"";s:5:"147.3";s:0:"";s:5:"147.4";s:0:"";s:5:"147.5";s:0:"";s:5:"147.6";s:0:"";i:155;s:0:"";i:156;s:0:"";i:157;s:0:"";i:158;s:0:"";i:159;s:0:"";s:5:"160.1";s:0:"";s:5:"160.2";s:0:"";s:5:"160.3";s:0:"";s:5:"160.4";s:0:"";s:5:"160.5";s:0:"";s:5:"160.6";s:0:"";i:162;s:0:"";i:163;s:0:"";i:164;s:0:"";i:165;s:0:"";i:166;s:0:"";s:5:"167.1";s:0:"";s:5:"167.2";s:0:"";s:5:"167.3";s:0:"";s:5:"167.4";s:0:"";s:5:"167.5";s:0:"";s:5:"167.6";s:0:"";i:169;s:0:"";i:170;s:0:"";i:171;s:0:"";i:172;s:0:"";i:173;s:0:"";s:5:"174.1";s:0:"";s:5:"174.2";s:0:"";s:5:"174.3";s:0:"";s:5:"174.4";s:0:"";s:5:"174.5";s:0:"";s:5:"174.6";s:0:"";i:176;s:0:"";i:177;s:0:"";i:178;s:0:"";i:179;s:0:"";i:180;s:0:"";s:5:"181.1";s:0:"";s:5:"181.2";s:0:"";s:5:"181.3";s:0:"";s:5:"181.4";s:0:"";s:5:"181.5";s:0:"";s:5:"181.6";s:0:"";i:40;s:0:"";i:43;s:2:"Ne";i:184;s:0:"";i:185;s:0:"";i:48;s:0:"";i:187;s:0:"";i:188;s:0:"";i:189;s:0:"";i:191;s:0:"";i:192;s:0:"";i:193;s:0:"";i:195;s:0:"";i:196;s:0:"";i:197;s:0:"";i:199;s:0:"";i:200;s:0:"";i:201;s:0:"";i:44;s:0:"";i:45;s:0:"";i:50;s:2:"Ne";i:51;s:2:"Ne";i:52;s:2:"Ne";i:53;s:0:"";i:55;s:0:"";i:56;s:0:"";i:57;s:0:"";i:58;s:0:"";i:59;s:0:"";i:60;s:2:"Ne";i:61;s:2:"Ne";i:62;s:0:"";i:69;s:2:"Ne";i:70;s:0:"";i:71;s:0:"";i:72;s:0:"";i:77;s:0:"";i:78;s:0:"";i:79;s:0:"";i:80;s:0:"";i:81;s:0:"";i:203;s:0:"";i:204;s:27:"56f26f5862fb85.90873638.png";}s:18:"_gravity_form_data";a:14:{s:2:"id";s:1:"1";s:13:"display_title";b:0;s:19:"display_description";b:0;s:25:"disable_woocommerce_price";s:3:"yes";s:12:"price_before";s:0:"";s:11:"price_after";s:0:"";s:20:"disable_calculations";s:3:"yes";s:22:"disable_label_subtotal";s:3:"yes";s:21:"disable_label_options";s:2:"no";s:19:"disable_label_total";s:3:"yes";s:14:"disable_anchor";s:2:"no";s:14:"label_subtotal";s:8:"Subtotal";s:13:"label_options";s:7:"Options";s:11:"label_total";s:5:"Total";}}
I need to extract the name of the png which in this array is: 56f26f5862fb85.90873638.png. The value is the following context:
i:204;s:27:"56f26f5862fb85.90873638.png";
It would be really convenient if I could look the name after the 204 which is always fixec.
Any guidance or suggestion as for how to solve it is much appreciated.
That is a serialized PHP value, created using the serialize() function.
You can unserialize it using the unserialize() function:
$data = unserialize('a:2:{s:18:"_gravity [...] tal";s:5:"Total";}}');
This question already has answers here:
Trying to parse JSON with PHP
(2 answers)
Accessing JSON array after json_decode/multidimensional array
(3 answers)
Closed 8 years ago.
I am receiving a multilevel json like this:
{"id":"3",
"field2":"ssss",
"field3":[
{"field31":"wwwww",
"field32":"qqqq"},
{"field31":"wwwww",
"field32":"qqqq"},
{"field31":"wwwww",
"field32":"qqqq"},
]}
I am reading json values (first level) like this in php:
$json = file_get_contents('php://input');
$json_post = json_decode(utf8_decode($json), true);
$id = $json_post['id'];
But I don't know how to get the json in the second level. What is the simplest way? I just need to get the json in other variable like $json_post, I will read it in a for bucle to get each row of the json file
It's going to give you a PHP object if you run json_decode(utf8_decode($json));
echo $json_post->field3->field31;
EDIT: I missed that you were using the conversion to array. This is what the array would look like
echo $json_post['field3']['field31'];