Re: help parsing json with php

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The issue here is that Name property has a space before it. So " Name" is what you are looking for and not "Name". Something like this would work:

print_r($data->data->lead2->{" Name"});



On Sat, Jan 26, 2019 at 7:41 PM dealtek@xxxxxxxxx <dealtek@xxxxxxxxx> wrote:
Thanks so much Aziz,

That is very helpful.

I see you had:

<?php
$data = "" {"riddleId":179849,"data":{"riddle":{"id":179849,"title":"test1","type":"quiz"},"lead2":{" Name":{"value":"ddddd","type":"text"},"Email":{"value":"b@xxxxx","type":"email"}},"answers":[{"question":"<p>q1<\/p>","answer":"a1","correct":true,"quest ionId":1,"answerId":1}],"result":1,"resultData":{"scoreNumber":1,"resultIndex":1,"scorePer centage":100,"scoreText":"Your score: 1\/1","resultId":2},"embed":{"parentLocation":"https:\/\/www.riddle.com\/showcase\/179849 \/quiz"}}}';

$data = "">

print_r($data->data->riddle);

---

Sorry to say I still need one bit more help:

I want to display the --- lead2 --- name:


I tried:
print_r($data->data->lead2);
and this gives...

stdClass Object ( [ Name] => stdClass Object ( [value] => ddddd [type] => text ) [Email] => stdClass Object ( [value] => b@xxxxx [type] => email ) ) 

but when I try this:

print_r($data->data->lead2->Name->value);
or
rint_r($data->data->lead2->Name);

it comes back empty. 


Q: How do I display ...lead2... name?

THANKS MUCH

Dave



On Jan 26, 2019, at 2:31 PM, Aziz Saleh <azizsaleh@xxxxxxxxx> wrote:

Hi Dave,

That response looks like a valid JSON, json_decode should suffice to get any data:


Aziz

On Sat, Jan 26, 2019 at 5:09 PM dealtek@xxxxxxxxx <dealtek@xxxxxxxxx> wrote:
Hi all,

I could use a bit of help parsing json (from riddle.com) with php.

the php result page shows:


<?php
$riddledata = date('Y-m-d H:i:s') . ' ' . print_r($_REQUEST, true) . "\n";

file_put_contents('webhook-logs.log', $riddledata, FILE_APPEND);

?>

and the $_REQUEST data looks like:

{"riddleId":179849,"data":{"riddle":{"id":179849,"title":"test1","type":"quiz"},"lead2":{" Name":{"value":"ddddd","type":"text"},"Email":{"value":"b@xxxxx","type":"email"}},"answers":[{"question":"<p>q1<\/p>","answer":"a1","correct":true,"quest ionId":1,"answerId":1}],"result":1,"resultData":{"scoreNumber":1,"resultIndex":1,"scorePer centage":100,"scoreText":"Your score: 1\/1","resultId":2},"embed":{"parentLocation":"https:\/\/www.riddle.com\/showcase\/179849 \/quiz"}}}



or maybe this after print_r($_REQUEST, true) ???



(

    [data] => {"riddleId":179849,"data":{"riddle":{"id":179849,"title":"test1","type":"quiz"},"lead2":{ "Name":{"value":"aaaaaa","type":"text"},"Email":{"value":"b@xxxxx","type":"email"}},"answers":[{"question":"<p>q1<\/p>","answer":"a1","correct":true,"quest ionId":1,"answerId":1}],"result":1,"resultData":{"scoreNumber":1,"resultIndex":1,"scorePer centage":100,"scoreText":"Your score: 1\/1","resultId":2},"embed":{"parentLocation":"https:\/\/www.riddle.com\/showcase\/179849 \/quiz"}}}

)


--- I tried parsing like:

$form_data = json_decode($_REQUEST);

$riddleId = $form_data->riddleId[0];

 --- also

$name = ' lead2 name '.$_REQUEST['data']['lead2']['Name']['value'];

 but nothing is working yet.


Q: What's the best way to parse this out and get the varied fields showing with php?

--
Thanks,
Dave - DealTek
dealtek@xxxxxxxxx
[db-19]



--
Thanks,
Dave - DealTek
dealtek@xxxxxxxxx
[db-19]


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux