转义对象中的所有数据


escape all data in an object

我有一个对象,其中一些数据从javascript发布到php脚本。这些数据来自for,因此用户将输出一个表单,当他们点击enter时,Ajax脚本将获取表单数据库,将其放入对象中,然后将其发布到我的php中,用JSON对其进行编码。

现在我是JSON之类的东西的新手,所以我不能100%确定它在做什么,我在网上读了一些文章,我的结论是它用所有编程语言都有的通用编码来编码数据。。。。。也许不是最好的描述,但嘿。所以这与转义数据不是一回事,是吗?

在我处理数据并将其放入数据库之前,我想对其进行转义,但我不确定最好的方法是什么?有没有办法让我逃离黑洞?这类事情有什么窍门吗?

不,json根本没有转义。在PHP方面,您可以使用json_decode来检索解码后的数据形式,然后您将以PHP数组的形式访问所有原始对象属性。

JSON确实是"通用的",因为它默认为UTF-8,并且多字节序列以'uuuuu格式转义。

但是,如果您想将整个JSON对象按原样存储在数据库中,那么在将整个字符串插入数据库之前,无需使用数据库的字符串转义函数(如果库支持,则可使用参数化查询)对其进行转义。

用JSON编码与转义不同。JSON基本上是一种基于Javascript对象文本的序列化格式。因此,在php方面,您需要:

  1. 将json解码为PHP
  2. 验证vales
  3. 转义值
  4. 将值插入数据库

解码JSON后,您将得到一个数组(请参阅JSON_decode,并将true作为第二个参数传递,以确保它是一个数组,而不是stdObject和数组的mic)。

这样,您就可以取出所插入的数据并对其进行转义,就像插入之前通过$_POST传递给您的任何数组一样。