有些人看到了代码:
<?php
echo stripslashes(json_encode(glob("photos-".$_GET["folder"].'/*.jpg')));
?>
它回应了一个非常好的完美字符串:
["photos-animaux/ani-01.jpg","photos-animaux/ani-02.jpg","photos-animaux/ani-02b.jpg","photos-animaux/ani-03.jpg","photos-animaux/ani-04.jpg","photos-animaux/ani-05.jpg","photos-animaux/ani-06.jpg","photos-animaux/ani-07.jpg","photos-animaux/ani-08.jpg","photos-animaux/ani-09.jpg","photos-animaux/ani-10.jpg","photos-animaux/ani-11.jpg","photos-animaux/ani-12.jpg","photos-animaux/ani-13.jpg","photos-animaux/ani-14.jpg"]
使用json编码,它应该发送一个数组,所以变量[0]应该=到photos-animaux / ani-01.jpg
现在它只是字符串的fisrt caracter ..
如何将数组转换为字符串,以及如何在javascipt中将字符串转换为数组以便能够获取值[0] [1]等。
问题是什么时候或者为什么完美的数组转换成字符串呢?
答案 0 :(得分:3)
从可用库here中使用JSON.parse()
比使用eval()
更可取,因为它只读取JSON字符串,从而避免了与eval()
相关的不安全安全风险。
答案 1 :(得分:1)
为了将JSON编码的字符串解析为实际的javascript对象,您需要eval()返回的数据,以便javascript对数据执行:
var data = eval(json_string)
请记住,当您信任源时,您应该只对字符串运行eval,并确保不会发生脚本注入攻击,因为javascript将运行字符串中的所有内容。
答案 2 :(得分:1)
答案 3 :(得分:0)
时间或原因
如果我理解正确,两者的答案都是json_encode()
:请查看文档。将变量转换为字符串(通常称为序列化或展平)非常common operation。