JSON解码php问题

时间:2010-11-12 20:44:23

标签: json

您好我正在以更清晰的方式重写我的问题。我有一个像这样的javascript数组:

var values=new Array('this is my "name"',encodeURIComponent('me&you&there'),encodeURIComponent('"£$%&/'),'0');
var jsonval=JSON.stringify(values);
$.ajax({
   type:'post',
   url:'dosomething.php',
   data:'action=getdata&myvalues='+jsonval
});

我必须使用encodeURIComponent与ajax一起发布的原因。 在php方面我有这个:

  

$ myvals = json_decode($ _ POST [ 'myvalues'],TRUE);

解码对象失败。 $ _POST ['myvalues']的回声就像这样:

{"1":"this is my "name"","2":"me&you&there","3":""£$%&/","4":"0"}

这似乎不是一个有效的json对象,因为它有“”“,双引号内部。任何人都知道如何避免这个问题? 感谢

1 个答案:

答案 0 :(得分:0)

只是一个猜测,但是会在\工作的所有特殊字符旁边转出双引号吗?

var values=new Array('this is my "name"',encodeURIComponent('me&you&there'),encodeURIComponent('\"£$%&/'),'0');
var jsonval=JSON.stringify(values);
$.ajax({
   type:'post',
   url:'dosomething.php',
   data:'action=getdata&myvalues='+jsonval
});