无法将json放入数组中

时间:2016-11-17 02:06:45

标签: json

我将这些数据存放在一个名为books.json的文件中,我试图进入一个数组。



{
	"date_reviewed":"08/Jan/16",
	"fname":"John",
	"mname":"",
	"lname":"Locke",
	"email":"",
	"title":"Boxed In!",
	"imagelocation":"img\book_covers\BoxedIn.jpg",
	"series_name":"Dr. Gideon Box",
	"sellerssite":"https://www.amazon.com/Boxed-Gideon-Donovan-Creed-Novel-ebook/dp/B019HANKW8",
	"genre":"Thriller,Suspence",
	"authorsite":"https://johnlockeauthor.wordpress.com/",
	"facebook":"https://www.facebook.com/john.locke.395669?fref=ts",
	"fbid":"John Locke",
	"twitter":"https://twitter.com/DonovanCreed",
	"twitterid":"@DonovanCreed",
	"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.",
	"rating":"5"
}




然后我检索然后对数据进行编码以转义数据中的特殊字符。



<?php

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

我试着把它放在一个数组中但是失败了所以我想也许我必须解码它并将它放入数组中所以我尝试了这个代码。

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

所以把所有这些放在一起就会产生以下产生错误&#34;警告:非法字符串偏移&#39; fname&#39;&#34;

&#13;
&#13;
<?php

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

?>
&#13;
&#13;
&#13;

我将不胜感激任何帮助。我的最终目标是将数据放入一个数组中,这样我就可以将它提供给我的代码,以便将其存入我的数据库。

1 个答案:

答案 0 :(得分:0)

你编码编辑:

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