2015-07-10 3 views
1

Я пытаюсь найти способ передать объект $php_object->page->ad->makeName в строку, но до сих пор ни одно из предлагаемых нами решений пока не работало для меня. Следующий кодПреобразование значения объекта в строку в PHP с ошибкой

$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); 

возвращает

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) 

Может кто-то с большим опытом, пожалуйста, поддержите, чтобы найти решение.

Большое спасибо заранее!

ответ

1

Попробуйте это как

$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); 

Объяснение:

Здесь вы конвертируете строку JSON в массив объектов, что вам нужно сделать, это передать дополнительный параметр истинного в json_decode($json_string,true), который дает вам array и вот оно

+1

Большое спасибо. Это умное решение. –

+0

Добро пожаловать. Рад, что это помогло –

0

Второй параметр сделает декодированную строку json в ассоциативные массивы.

Пример:

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

Вы можете прочитать больше об этом here.

Вы использовали json_decode($json_string), который является форматом обратного объекта, а не массивом.

Теперь я надеюсь, что вы понимаете, как преобразовать значение JSON в массив PHP. Пожалуйста, замените ниже код на свой код, и все будет сделано.

//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>'); 

Приведенный выше код будет возвращать PHP массив, что вы хотите, и печать как:

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

     ) 

) 

PS: Если этот материал поможет вам, пожалуйста, оставьте меня комментарий и поддержку :)

Спасибо!

+0

Также большое спасибо за вашу поддержку. –

+0

Добро пожаловать, счастлив помочь! –

Смежные вопросы