2016-11-17 1 views
-1

Ich habe diese Daten in einer Datei namens books.json, die ich versuche, in ein Array zu bekommen.Konnte json in ein Array nicht bekommen

{ 
 
\t "date_reviewed":"08/Jan/16", 
 
\t "fname":"John", 
 
\t "mname":"", 
 
\t "lname":"Locke", 
 
\t "email":"", 
 
\t "title":"Boxed In!", 
 
\t "imagelocation":"img\book_covers\BoxedIn.jpg", 
 
\t "series_name":"Dr. Gideon Box", 
 
\t "sellerssite":"https://www.amazon.com/Boxed-Gideon-Donovan-Creed-Novel-ebook/dp/B019HANKW8", 
 
\t "genre":"Thriller,Suspence", 
 
\t "authorsite":"https://johnlockeauthor.wordpress.com/", 
 
\t "facebook":"https://www.facebook.com/john.locke.395669?fref=ts", 
 
\t "fbid":"John Locke", 
 
\t "twitter":"https://twitter.com/DonovanCreed", 
 
\t "twitterid":"@DonovanCreed", 
 
\t "review":"A series you have to be sick to love. I guess that's telling as I do love the series. 
 
           The latest in a series from an author that also has a number of other series that I have been devouring for the last couple of years. What makes these series unique is that they are all tied together by the characters that star in each series. So, if you're a fan of one and have not branched out into the others then it is time to go to his author page and start the reading adventure that will take you into the minds of a lethal assassin, a gunfighter and reluctant sheriff, and a private detective made famous by escaping from a deranged kidnapper. 
 
           Dr. Box may be brilliant when it comes to saving the life of children written off as lost causes but his activities outside the operating room have left any that know him with a strong desire to see him thrown into the bowels of hell as he surely is the very epitome of demon walking the earth. Good thing that he's the only one in the world that can save a life that others deem impossible. Just pray that if you've ever slighted him that you never show up in his hospital under his care. It will be an encounter you never live to regret. 
 
           In this tale Dr. Box is visited by the only man that causes true fear in a doctor who's moral compass was broken at birth. Donovan Creed. An assassin that you do not want to owe a favor to. 
 
           Donovan comes to collect. He has the plan to kill a terrorist and in the process save thousands of lives. The only problem, what he wants is the one thing Dr. Box cannot do. 
 
           Painted into a box (pun intended) he has no choice but to call on the one person that even Donovan is afraid of. Rose. 
 
           Together they come up with a full proof plan. Too bad that Donovan is already two steps ahead and the consequences for Dr. Box are steep and his life may never be the same. 
 
           As a fan, I say you have to add this to your library.", 
 
\t "rating":"5" 
 
}

ich dann abrufen dann die Daten kodieren die Sonderzeichen in den Daten zu entkommen.

<?php 
 

 
    
 
    //Get data from existing json file 
 
\t $jsondata = file_get_contents("books.json");; 
 
      
 
      $arr_data = json_encode($jsondata, true); 
 
?>

Ich habe dann versucht zu platzieren, dass in einer Reihe, aber das scheiterte, so dachte ich, vielleicht hatte ich es zu entschlüsseln und sie in das Array zu platzieren, damit ich diesen Code versucht.

$Adata = json_decode($arr_data, true); 
 
      
 
echo $Adata['fname'];

So setzen, dass alle zusammen haben Sie die folgenden, die produziert und Fehler "Warnung: Ungültige Zeichenfolge Offset 'fname'"

<?php 
 

 
    
 
    //Get data from existing json file 
 
\t $jsondata = file_get_contents("books.json");; 
 
      
 
      $arr_data = json_encode($jsondata, true); 
 
          
 
      $Adata = json_decode($arr_data, true); 
 
      
 
      echo $Adata['fname']; 
 

 
?>

I würde jede Hilfe schätzen. Mein ultimatives Ziel ist es, die Daten in ein Array zu bringen, damit ich es in meinen Code einspeisen kann, um es in meine Datenbank zu integrieren.

+0

beten sagen, was passiert, wenn Sie echo '$ Adata' nur statt eines Schlüssels in diesem Array zu verweisen versucht? drucke einfach das Ganze aus. Hat es eine String-Repräsentation, die Sie überprüfen können, ob 'fname' existiert? –

+0

Wenn dies eine PHP-Frage ist, markieren Sie sie bitte als solche. –

+0

Es ist in erster Linie eine Json Frage torazaburo. Ich bekomme eine leere Seite, keinen Fehler und keine Ergebnisse, Matias Elgart. – tylerbarton

Antwort

0

Sie Code bearbeiten dazu:

$jsondata = file_get_contents("books.json"); 
$arr_data = json_decode($jsondata, true); 
echo $arr_data['fname']; //shoud print out: John