1

I am trying to find a way to cast the object $php_object->page->ad->makeName to a string, but until now none of the proposed solutions I've read so far worked for me. The following code

$json_string = '{"SUPPRESS_DEALER_REPORTING_FOR_AD_IDS":[211124806],"REQUEST_LANGUAGE_SETTINGS":"de","org.springframework.validation.BindingResult.SUPPRESS_DEALER_REPORTING_FOR_AD_IDS":{"target":[211124806],"autoGrowNestedPaths":true,"autoGrowCollectionLimit":256,"objectName":"SUPPRESS_DEALER_REPORTING_FOR_AD_IDS","messageCodesResolver":{"prefix":"","formatter":"PREFIX_ERROR_CODE"},"errors":[],"suppressedFields":[],"nestedPath":"","nestedPathStack":[]},"org.springframework.validation.BindingResult.REQUEST_LANGUAGE_SETTINGS":{"target":"de","autoGrowNestedPaths":true,"autoGrowCollectionLimit":256,"objectName":"REQUEST_LANGUAGE_SETTINGS","messageCodesResolver":{"prefix":"","formatter":"PREFIX_ERROR_CODE"},"errors":[],"suppressedFields":[],"nestedPath":"","nestedPathStack":[]},"page":{"ad":{"makeName":{"value":"Volkswagen"},"modelName":{"value":"Polo"},"damagedVehicle":{"value":""},"exportVehicle":{},"countryVersion":{},"images":[{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/CPkAAOSwKrhVeHwO/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/CPkAAOSwKrhVeHwO/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/CPkAAOSwKrhVeHwO/$_27.JPG"}},{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/stgAAOSweW5VeHwd/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/stgAAOSweW5VeHwd/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/stgAAOSweW5VeHwd/$_27.JPG"}},{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/nMEAAOSw~OdVeHws/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/nMEAAOSw~OdVeHws/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/nMEAAOSw~OdVeHws/$_27.JPG"}},{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/L~oAAOSwZd1VeHw5/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/L~oAAOSwZd1VeHw5/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/L~oAAOSwZd1VeHw5/$_27.JPG"}},{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/vJgAAOSwstxVeHxF/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/vJgAAOSwstxVeHxF/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/vJgAAOSwstxVeHxF/$_27.JPG"}},{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/vqcAAOSwstxVeHxU/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/vqcAAOSwstxVeHxU/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/vqcAAOSwstxVeHxU/$_27.JPG"}},{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/is4AAOSwBahVeHxk/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/is4AAOSwBahVeHxk/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/is4AAOSwBahVeHxk/$_27.JPG"}},{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/MasAAOSw3xJVeHxz/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/MasAAOSw3xJVeHxz/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/MasAAOSw3xJVeHxz/$_27.JPG"}},{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTYwMFgxMTk0/z/YeMAAOSwpDdVeHyF/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTYwMFgxMTk0/z/YeMAAOSwpDdVeHyF/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTYwMFgxMTk0/z/YeMAAOSwpDdVeHyF/$_27.JPG"}},{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/rSwAAOSw~OdVeHyU/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/rSwAAOSw~OdVeHyU/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/rSwAAOSw~OdVeHyU/$_27.JPG"}},{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/klcAAOSwBahVeHyj/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/klcAAOSwBahVeHyj/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/klcAAOSwBahVeHyj/$_27.JPG"}},{"thumbnail":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/s1gAAOSw~OdVeHy0/$_18.JPG"},"medium":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/s1gAAOSw~OdVeHy0/$_24.JPG"},"large":{"src":"https://ssli.ebayimg.com/00/s/MTE5NFgxNjAw/z/s1gAAOSw~OdVeHy0/$_27.JPG"}}],"internalNumber":{"link":{}},"additionalAttributes":[{"label":"Hubraum","link":{},"value":"1390 cm³"},{"label":"Anzahl Sitzplätze","link":{},"value":"5"},{"label":"Anzahl der Türen","link":{},"value":"4/5"},{"label":"Schadstoffklasse","link":{},"value":"Euro4"},{"label":"Umweltplakette","link":{},"value":"4 (Grün)"}],"genericFeatures":{"headline":{},"features":[],"available":false},"interiorFeatures":{"headline":{"value":"Innenausstattung"},"features":[{"value":"CD-Spieler","enabled":true},{"value":"Einparkhilfe (Hinten)","enabled":true},{"value":"Elektr. Fensterheber","enabled":true},{"value":"Klimatisierung (Klimaautomatik)","enabled":true},{"value":"Servolenkung","enabled":true},{"value":"Tempomat","enabled":true},{"value":"Tuner/Radio","enabled":true},{"value":"Zentralverriegelung","enabled":true}],"available":true},"exteriorFeatures":{"headline":{"value":"Außenausstattung"},"features":[{"value":"Elektr. Seitenspiegel","enabled":true},{"value":"Leichtmetallfelgen","enabled":true}],"available":true},"extrasFeatures":{"headline":{"value":"Extras"},"features":[{"value":"Scheckheftgepflegt","enabled":true}],"available":true},"securityFeatures":{"headline":{"value":"Sicherheit &amp; Umwelt"},"features":[{"value":"ABS","enabled":true},{"value":"Airbags (Front-, Seiten- und weitere Airbags)","enabled":true},{"value":"ESP","enabled":true},{"value":"Elektr. Wegfahrsperre","enabled":true},{"value":"Traktionskontrolle","enabled":true}],"available":true},"galleryFeatures":[{"value":"Klimatisierung (Klimaautomatik)"},{"value":"Einparkhilfe (Hinten)"},{"value":"Tempomat"},{"value":"Servolenkung"},{"value":"Elektr. Fensterheber"},{"value":"Zentralverriegelung"},{"value":"CD-Spieler"},{"value":"Tuner/Radio"},{"value":"Scheckheftgepflegt"},{"value":"Leichtmetallfelgen"},{"value":"Elektr. Seitenspiegel"},{"value":"Airbags (Front-, Seiten- und weitere Airbags)"},{"value":"ABS"},{"value":"Elektr. Wegfahrsperre"},{"value":"ESP"},{"value":"Traktionskontrolle"}],"description":{"value":"Au&szlig;en<br>- 4 Stahlr&auml;der 6 J x 15 mit Radvollblenden, Reifen 195/55 R 15<br>- Folienschriftzug &quot;Goal&quot; auf dem hinteren Seitenteilen<br><br>Innen<br>- Einstiegsleisten mit Folienschriftzug &quot;Goal&quot;<br>- Fahrersitz mit H&ouml;heneinstellung und integrierter Schublade<br>- Haltegriffe ged&auml;mpft<br>- Handbremshebelgriff in Leder mit orangefarbenen Ziern&auml;hten<br>- Handbremshebelknopf in Chrom<br>- Lederlenkrad (3 Speichen) mit orangefarbenen Ziern&auml;hten und Alu-Dekor<br>- R&uuml;cksitzbank und -lehne asymetrisch umklappbar<br>- Schalthebelknauf in Leder mit Linse &quot;Goal&quot;<br>- Schalthebelmanschette mit orangefarbenen Ziern&auml;hten<br>- Sitzmittelbahn im Dessin &quot;Popcorn&quot; mit Schriftzug &quot;Goal&quot;<br>- Tipp-Kick-Spiel<br><br>Funktion<br>- 2 Leseleuchten vorn<br>- Doppelton-Signalhorn<br>- Gep&auml;ckraumbeleuchtung<br>- Geschwindigkeitsregelanlage<br>- Instrumentenbeleuchtung regelbar<br>- Klimaanlage &quot;Climatronic&quot;<br>- Make-up Spiegel beleuchtet in den Sonnenblenden<br>- Multifunkionsanzeige<br>- Parkpilot<br>- Radiosystem RCD 200 mit 4 Lautsprechern<br><br><hr>Finanzierung m&ouml;glich!<br><br>&Auml;nderungen, Irrt&uuml;mer und Zwischenverkauf vorbehalten!<br>"},"slideshowJson":"https://home.mobile.de/home/slideshow.json","slideshowAvailable":false,"callAnalystPhoneNumbers":[],"adId":211124806,"priceModel":{"type":{},"secondaryPrice":{"countryOfSale":{},"countryOfOrigin":{},"net":true},"primaryPrice":{"countryOfSale":{"value":"5.999 EUR"},"countryOfOrigin":{},"net":false},"previousPrice":{},"deliveryCost":{},"vatRate":{"value":"MwSt. nicht ausweisbar"},"infoText":{},"vatReclaimable":false},"makeModelDescription":{"value":"Volkswagen Polo 1.4 Goal"},"bodyType":{"value":"Kleinwagen"},"usageType":{"value":"Gebrauchtfahrzeug"},"firstRegistration":{"value":"EZ 10/2006"},"mileage":{"value":"63.000 km"},"fuelConsumption":[{"label":"Kraftstoffverbr. komb.","link":{},"infoIcon":"Bei den angegebenen Daten handelt es sich um Circa-Angaben des Angebot-Erstellers. Die Werte können Erfahrungen zu diesem Modell darstellen oder aus anderen Quellen stammen.","value":"ca. 6,4 l/100 km"},{"label":"Kraftstoffverbr. innerorts","link":{},"value":"ca. 8,5 l/100 km"},{"label":"Kraftstoffverbr. außerorts","link":{},"value":"ca. 5,2 l/100 km"},{"label":"CO²-Emissionen komb.","link":{},"value":"ca. 152 g/km"},{"label":"Zugr.-lgd. Treibstoffart","link":{},"infoIcon":"Die Ermittlung der Verbrauchs- und Emissionswerte sowie die Energieeffizienzklasse basieren auf der Verwendung dieser Treibstoff-Art.","value":"Benzin"}],"attributes":[{"value":"EZ 10/2006"},{"value":"63.000 km"},{"value":"Benzin"},{"value":"59 kW (80 PS)"},{"value":"Schaltgetriebe"}],"videoLinkPresent":false,"advice":{},"secret":"a22a1d743e3de342fb18cbe2ac8c3dcf"},"recommendVehicle":{"url":"mailto:?subject=ich habe ein interessantes Fahrzeug bei mobile.de gefunden: &amp;body=Hallo, %0D%0Aich habe ein interessantes Fahrzeug bei mobile.de gefunden: %0D%0A%0D%0AVolkswagen%20Polo%201.4%20Goal%0D%0A%0D%0Ahttp://suchen.mobile.de/fahrzeuge//details.html?id=211124806","alt":"Fahrzeug weiterempfehlen"}}}';
$php_object = json_decode($json_string);

$adDetails = array();

if(!empty($php_object->page->ad->makeName)) {

    $adDetails[] = array(   "fk_adId" => $php_object->page->ad->adId,
                            "property" => 'makeName',
                            "value" => $php_object->page->ad->makeName,
                            );
}

var_dump($adDetails);

returns

array (size=1)
  0 => 
    array (size=3)
      'fk_adId' => int 211124806
      'property' => string 'makeName' (length=8)
      'value' => 
        object(stdClass)[8]
          public 'value' => string 'Volkswagen' (length=10)

Can somebody with more experience please support to find a solution.

Many thanks in advance!

2 Answers 2

1

Try it as

$php_object = json_decode($json_string,true);

$adDetails = array();
//pr($php_object);
if(!empty($php_object['page']['ad']['makeName'])) {

    $adDetails[] = array(   "fk_adId" => $php_object['page']['ad']['adId'],
                            "property" => 'makeName',
                            "value" => $php_object['page']['ad']['makeName'],
                            );
}
echo "<pre>";
var_dump($adDetails);

Explanation :

Here you are converting a json string into array of objects what you need to do is pass an extra parameter true within json_decode($json_string,true) which gives you an array and that's it

Sign up to request clarification or add additional context in comments.

Comments

0

The second parameter will make decoded json string into an associative arrays.

Example:

json_decode('{"foo":"bar"}'); // returns an object, not an array.
json_decode('{"foo":"bar"}', true); // returns array("foo" => "bar")

You can read more about it here.

You used json_decode($json_string) which is return object format not array format.

Now I hope that you understand how to convert JSON value to PHP array. Please replace below code to your code and it's done.

//Decode JSON data to PHP array
$php_array = json_decode($json_string, TRUE);

//Initialize array
$adDetails = array();

//Check for array value is not empty
if(!empty($php_array['page']['ad']['makeName'])) {

    //Set array value
    $adDetails[] = array("fk_adId" => $php_array['page']['ad']['adId'],
                            "property" => 'makeName',
                            "value" => $php_array['page']['ad']['makeName'],
                            );
}

//Remove print stuff if not require
print('<pre>');
print_r($adDetails);
print('</pre>');

Above code will return PHP array what you want and print is like:

Array
(
    [0] => Array
        (
            [fk_adId] => 211124806
            [property] => makeName
            [value] => Array
                (
                    [value] => Volkswagen
                )

        )

)

PS:If this stuff helps you please leave me a comment and support :)

Thanks!

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.