我从未使用过JSON,我现在真的需要这样做,我已经尝试了一些来自jQuery页面的例子,但它似乎对我不起作用。
我有生成字符串的* .php文件,据我所知这是我如何从PHP传递JSON到javascript。我想要生成的字符串非常简单:
foreach ($imageList as $img)
{
echo "{ thumb: 'media/img/t/$img', image: 'media/img/m/$img'},";
}
所以结果会像(格式化)
{
thumb: 'media/img/t/123.jpg',
image: 'media/img/m/123.jpg'
},
{
thumb: 'media/img/t/1234.jpg',
image: 'media/img/m/1234.jpg'
},
依旧......
不知何故,我认为这不是正确的做事方式,当然不好意思,但正如我所说,我从未使用过JSON格式,我几乎不知道它代表什么。
我希望这些数据位于javascript数组中,所以我可以像我这样在我的库中使用它(3.使用JSON)http://galleria.aino.se/docs/1.2/references/data/
有人可以帮我这个吗?我知道这可能是一个非常容易的问题,但对于我来说,作为一个完整的菜鸟,我很难理解。当我知道如何解决这个问题时,我可能会理解它是如何工作的以及如何使用它,但现在我真的不知道。
答案 0 :(得分:2)
JSON是invalid,不要编写自己的序列化程序perfectly good ones exist already。
答案 1 :(得分:2)
我建议您使用json_encode()
,因为您在创建的json对象字符串中有几个问题。
<?php
$json_image_list = array();
foreach ($imageList as $img){
$json_image_list[] = array(
'thumb' => "media/img/t/$img",
'image' => "media/img/m/$img",
);
}
echo json_encode($json_image_list);
?>
所以你知道,json中有一些问题:
另外,请参阅JSON.org的底部,了解已经针对您将在网络上使用的语言编写的软件包,这样您就不必自己编写。
答案 2 :(得分:1)
不要建立自己的json。使用json_encode($some_php_data_structure)
为您完成所有操作。否则你必须自己进行所有转义/包围,并且在某些时候你会错过一些东西并最终得到错误的javascript,这会杀死你所有的客户端脚本。
您所要做的就是在PHP中构建数据结构,将其传递给json_encode(),然后就完成了。
答案 3 :(得分:1)
推荐的方法是使用json_encode
。它为您完成所有工作,并将PHP变量转换为JSON字符串。
答案 4 :(得分:1)
生成的字符串无效JSON。所有这些对象都应该在一个数组中,并且应该引用属性的名称。你为什么不用json_encode?
答案 5 :(得分:0)
您可以在PHP中填充普通数组,然后执行此操作以回显JSON:
echo json_encode($your_array);
然后在解析之前不需要担心JSON语法。
答案 6 :(得分:0)
回应上述提交者的评论:
哎呀,这部分似乎已经完成了,但是如何将这些数据接收到JS里面的数组?使用jQuery ofc ..
您可以使用jQuery的getJSON
函数将JSON接收到JavaScript数组中。
答案 7 :(得分:0)
使用Paul DelRe的php解决方案,您可以使用此jquery代码访问数据图像,当然还可以选择(触发)“点击,更改等”
$.ajax({
type: "POST",
url: "yourfile.php",
dataType:"json",
data: Data,
success: function(result)
{
$("#image").html(result.image);
}
});