0

I'm actually new to the Api world, i'm working on an Api that fetches and sends back data using a Curl Request. On Fetch the information below is passed

{"posts":{"userinfo":{"fullname":"Precious Tom","user_name":"Kendrick","email":"[email protected]","gender":"Male","country":"Nigeria","city":"Port Harcourt","state":"Rivers","year":"1997","month":"9","day":"6"}}}

content type: text/html; charset=UTF-8

http code: 200

Splitting the Array seem to be my Problem, I'm sorry if this question hs been asked before, but please, i need your help. Thanks.

For More Info, Here is my Curl Request

<?php
session_start();
# data to be sent
$data = array(
'public_key' => 'pk_test_3gc9ffb0hccggf5f3b4e258da848343dff4ae900',
'app_name' => 'Circlepanda',
'app_id' => '2147483647'
);
$curl = curl_init();
# you can also set the url you wanna communicate with by setting
# $curl = curl_init('http://localhost/circlepanda');
  # We post Data
curl_setopt($curl, CURLOPT_POST, 1);
# Set the url path we want to call
 curl_setopt($curl, CURLOPT_URL, 'http://localhost:8888/circlepanda/api/userinfo');
# Make it so the data coming back is put into a string
  curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  # You can also bunch the above commands into an array if you choose using: curl_setopt_array
# Send the request
$result = curl_exec($curl);
# Get some cURL session information back
$info = curl_getinfo($curl);
echo '<br> content type: ' . $info['content_type'] . '<br>';echo 'http code: ' . $info['http_code'] . '<br>';
# Free up the resources $curl is using
curl_close($curl);
?>

I'll be passing a Variable not a direct Array. Tried Direct arrays your code worked fine, burr on passing a variable, it stopped working...

3
  • so what is the problem Commented May 16, 2017 at 5:10
  • Show any code you have been tried so far Commented May 16, 2017 at 5:11
  • print_r(json_decode('{"posts":{"userinfo":{"fullname":"Precious Tom","user_name":"Kendrick","email":"[email protected]","gender":"Male","country":"Nigeria","city":"Port Harcourt","state":"Rivers","year":"1997","month":"9","day":"6"}}}',true)); Commented May 16, 2017 at 5:13

2 Answers 2

1
$city_names = json_decode('{"posts":{"userinfo":{"fullname":"Precious Tom","user_name":"Kendrick","email":"[email protected]","gender":"Male","country":"Nigeria","city":"Port Harcourt","state":"Rivers","year":"1997","month":"9","day":"6"}}}', true);

print_r($city_names);

ans

Array
(
    [posts] => Array
        (
            [userinfo] => Array
                (
                    [fullname] => Precious Tom
                    [user_name] => Kendrick
                    [email] => [email protected]
                    [gender] => Male
                    [country] => Nigeria
                    [city] => Port Harcourt
                    [state] => Rivers
                    [year] => 1997
                    [month] => 9
                    [day] => 6
                )

        )

)

$city_names = json_decode($json, true);
print $arr['posts']['userinfo']['fullname'];
Sign up to request clarification or add additional context in comments.

Comments

0

You've 2 options:

1 - Convert json to an object using:

$obj = json_decode($json);
print $obj->posts->userinfo->fullname;

2 - convert json to an array using:

$arr = json_decode($json, true);
print $arr['posts']['userinfo']['fullname'];

Learn more about json_decode

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.