json的意义在于将复杂的数据结构转换成简单的串进行数据交换对传入的数据做适当的处理,永远都是必要的

解决方案 »

  1.   

    恩?!
    客户端json字符串 原来是 '{"0":"1"}'
    传到服务器后变成了 "{\"0\":\"1\"}"本来是一个json字符串的,
    传过来后就不是json字符串了!!!
    对传入的数据做适当的处理,永远都是必要的(但是我每次传个json字符串都要处理成json字符串, 这样做不好的)楼上的大哥好像没有理解我的意思说!
    O.o
      

  2.   

    你的字串是通过post或get方式传递的吧.在php.ini文件里因为打开了get_magic_quotes_gpc.着是出于安全考虑.有个函数可以反操作的
      

  3.   

    大哥应该是没有看仔细吧
    一般来说,从客户端传过来的一个json字符串到客户端以后还是一个json字符串的!!!!
    这样我才可以进行我想要的处理,不然我在客户端的时候就不会把要的数据转化成json字符串了现在的问题是服务器端得到的并不是我传过来的json字符串,也就是说,这个字符串“变质”了
    小弟想知道的是才能够得到客户端的正常的json字符串如果每次都要用""替换掉"/"这样我认为是不可取的,所以发个帖子问下下,是否哪里出了问题
      

  4.   

    php默认对传入的特殊字符做转义处理,这是个基本常识问题.
      

  5.   

    luojxun() 我使用post方式传递的,但是觉得跟什么方式传递没有关系的吧。在php.ini文件里因为打开了get_magic_quotes_gpc.着是出于安全考虑.有个函数可以反操作的
    //这句话,不大能够明白,可以告诉详细一些吗?
      

  6.   

    xuzuning(唠叨) 
    php默认对传入的特殊字符做转义处理,现在知道了,谢谢。那就是说,小弟每次传个json字符串的话,都要进行一次转化,这个是必要的,大哥的意思是这样吗?
      

  7.   

    如果是这样的话,大哥直接在二楼说要用""替换"/"是必要的就好了,
    还浪费那么多的你我的时间。看来大哥的(唠叨)是真的说,呵呵O.o/*这样看起来php用json还是不怎么合适呀*/
      

  8.   

    我一直没看,为了对得起你给的分,你看看stripslashes函数还有addslashes函数.呵呵,打开get_magic_quotes_gpc是为了防止sql注入攻击,它会对以post和get传送的参数自动进行加"/"处理.如"Is your name O'reilly?"它会把它变为"Is your name O\'reilly?"
    函数就是对这一过程进行反操作.不光这种情况
    当你要把字符串存入数据库时由于特殊符号的存在可能导致失败所以也要对数据用stripslashes进行处理.比如你的语句是Is your name O'reilly?而你写存入数据库语句是'Is your name O'reilly?"',由于O'的问题这句肯定失败换为'Is your name O\'reilly?'就没问题了
      

  9.   

    更正一下打开get_magic_quotes_gpc是为了防止sql注入攻击,它会对以post和get传送的参数自动进行加"/"处理.如"Is your name O'reilly?"它会把它变为"Is your name O\'reilly?"
    stripslashes函数就是对这一过程进行反操作.不光这种情况
    当你要把字符串存入数据库时由于特殊符号的存在可能导致失败所以也要对数据用addslashes进行处理.比如你的语句是Is your name O'reilly?而你写存入数据库语句是'Is your name O'reilly?"',由于O'的问题这句肯定失败换为'Is your name O\'reilly?'就没问题了
      

  10.   

    添加一下注意:
    如果打开get_magic_quotes_gpc对于以post和get传送的参数就不要用addslashes进行处理了.否则你要用两次stripslashes才可以还原.
    你可以用if(!get_magic_quotes_gpc())进行判断需不需要