Php JSON格式

Php JSON格式,php,javascript,json,Php,Javascript,Json,使用找到的方法,我收集表单值并使用以下代码发布它们: $.ajax({ type: "POST", url: "http://"+document.domain+"/SimplaAdmin/includes/rpc.php", data: { data:postdata, method: 'addSite'}, dataType: "json", ....... 公布的数据为: data:{ "textfield": ["",""], "drop

使用找到的方法,我收集表单值并使用以下代码发布它们:

$.ajax({
    type: "POST",
    url: "http://"+document.domain+"/SimplaAdmin/includes/rpc.php",
    data: { data:postdata, method: 'addSite'},
    dataType: "json",
.......
公布的数据为:

data:{
    "textfield": ["",""],
    "dropdown": ["option1","option1"],
    "siteTitle":"this is the site title",
    "siteKey":"",
    "siteurl":"",
    "address1":"",
    "address2":"",
    "address3":"",
    "landline":"",
    "method":"addSite",
    "small-input":"",
    "medium-input":"",
    "large-input":""
}
然后,我尝试使用以下方法获取siteTitle的值:

但它不起作用,我的想法中的缺陷在哪里?

将$title=$obj->{'sitetTitle'}更改为


您的语法不正确-您只需要$title=$obj->sitetTitle

另外,我想您在本文的JSON字符串开头添加了数据:是吗?这也不应该存在

例如:

<?php 

$string = '{"textfield":["",""],"dropdown":["option1","option1"],"siteTitle":"this is the site title","siteKey":"","siteurl":"","address1":"","address2":"","address3":"","landline":"","method":"addSite","small-input":"","medium-input":"","large-input":""}';

$obj = json_decode($string); 

print_r( $obj->siteTitle );

?>
哪个输出


这是JSON在文章中转义的站点标题。删除了斜杠,效果很好。

试试json.stringify-Google-ify;但它不是一个数组。如果希望返回数组,则需要将第二个参数传递为TRUE。默认情况下,json_decode返回对象时,这将不起作用。这将导致一个致命错误:无法将stdClass类型的对象用作数组错误。此返回null。数据:这正是我从chrome上获取的,用来显示发布的内容,但它不在那里;若要查看它是否正确解码字符串,请尝试从数据中删除数据:{data:postdata,方法:'addSite'},因此它看起来像这样的数据:{postdata,方法:'addSite'},是的,刚刚做了,它被转义了!阿拉json邮报。在解码之前做了一个删除$数据的程序,现在可以了。很好。很高兴你把它整理好了。
$title = $obj['siteTitle'];
<?php 

$string = '{"textfield":["",""],"dropdown":["option1","option1"],"siteTitle":"this is the site title","siteKey":"","siteurl":"","address1":"","address2":"","address3":"","landline":"","method":"addSite","small-input":"","medium-input":"","large-input":""}';

$obj = json_decode($string); 

print_r( $obj->siteTitle );

?>