我有一个对象,其中一些数据从javascript发布到php脚本。这些数据是来自一个for,所以用户将发出一个表单,当他们点击enter一个Ajax脚本将获取表单数据库,将其放入一个对象,然后将其发布到我的php,用JSON编码它。
现在我刚接触像JSON这样的东西,所以我不是百分之百确定它在做什么,我在网上读了一点,我的结论是它用一种所有编程语言都有的通用编码来编码数据……也许不是对它最好的描述,但是嘿。所以这和数据转义不是一回事,不是吗?
任何,在我处理数据并放入数据库之前,我想避开它,但我不确定最好的方法是什么?有没有办法让我逃离那个洞物体?对这类事情有什么建议或窍门吗?
发布于 2012-03-01 20:14:05
不,json根本不能逃脱。在PHP端,您可以使用json_decode检索数据的解码形式,然后您将以PHP数组的形式访问所有原始对象属性。
发布于 2012-03-01 20:14:36
JSON确实是“通用的”,因为缺省情况下它是UTF-8,并且多字节序列以\uuuuu格式转义。
但是,如果希望将整个JSON对象按原样存储在数据库中,那么在将整个字符串插入数据库之前,不需要使用数据库的字符串转义函数对整个字符串进行转义(如果库支持的话,也可以使用参数化查询)。
发布于 2012-03-01 20:15:11
在JSON中编码某些内容与对其进行转义是不同的。基本上,JSON是一种基于Javascript对象文字的序列化格式。因此,在php端,您需要:
将json验证为PHP
中
在你解码JSON之后,你将得到一个数组(参见json_decode,并作为第二个参数传递true,以确保它是一个数组,而不是stdObject和数组的麦克风)。
这样你就可以取出你需要的数据并对其进行转义,通常在插入之前通过$_POST传递给你的任何数组都会这样做。
https://stackoverflow.com/questions/9515981
复制相似问题