Json解码无法正常工作?

时间:2017-02-15 06:58:09

标签: php jquery json

实际上我想将json数组转换为字符串,因为我使用了json_decode,但它什么都没有返回怎么解决这个问题?

下面是我的数组,

[{"Product":"Fantasy Brown","productimage":"images/fantasy-brown.jpg"},{"Product":"Bruno White","productimage":"images/bruno-white.jpg"},{"Product":"Barcunda Black","productimage":"images/barcunda-black.jpg"},{"Product":"Iceberg","productimage":"images/iceberg.jpg"},{"Product":"Mercury White","productimage":"images/mercury-white.jpg"},{"Product":"Desert Brown","productimage":"images/desert-brown.jpg"},{"Product":"Blue Venatino","productimage":"images/blue-venatino-marble.jpg"}]

上面的数组应该转换为字符串,我也希望从该数组中以字符串格式显示产品和产品图像。

以下是我的代码,

$cart_items = "<script>document.write(localStorage.getItem('cart'));</script>";
echo "<pre>";
print_r($cart_items);
die;
$details = json_decode($cart_items);
// $x = $cart_items[];
echo $details;die;

2 个答案:

答案 0 :(得分:1)

你的代码不起作用。您正在以错误的方式混合客户端和服务器端编程。

从服务器的角度来看,$cart_items只是一个包含以下内容的字符串:

<script>document.write(localStorage.getItem('cart'));</script>

没有更多。

您的浏览器将服务器输出(即Javascript)解析为JSON字符串。由于转换仅发生在浏览器端,因此服务器端(即您的PHP脚本)无法获得它。

您需要重新考虑您的代码逻辑。也许你需要有javascript将localStorage内容提交给服务器。或者也许只用Javascript解决您的问题。

答案 1 :(得分:0)

你们都需要设置json_decode()'true',即

$details = json_decode($cart_items,true);