Javascript 在ajax中发送json

Javascript 在ajax中发送json,javascript,php,ajax,json,Javascript,Php,Ajax,Json,我正在尝试使用javascript在ajax中发送json。我能够从php检索回值,但无法检索特定的json数组 var mname = ["john", "mary", "eva"]; var fname = 678; clicked_keyword_test = {"lastName": fname, "firstName": mname}; xmlhttp.send('myArray=' +JSON.stringify(clicked_keyword_test)); 在PHP中获取数据并

我正在尝试使用javascript在ajax中发送json。我能够从php检索回值,但无法检索特定的json数组

var mname = ["john", "mary", "eva"];
var fname = 678;
clicked_keyword_test = {"lastName": fname, "firstName": mname};
xmlhttp.send('myArray=' +JSON.stringify(clicked_keyword_test));
在PHP中获取数据并将其发送回ajax:

 $receive_data = json_decode ($_POST['myArray']); 
 echo json_encode($receive_data);
现在,上面的方法很好,但是如果我只想检索
“firstName”
的值,比如
echo json\u encode($receive\u data[“firstName”])然后我得到一个错误,如:

 <b>Fatal error</b>:  Cannot use object of type stdClass as array in.....
致命错误:无法将stdClass类型的对象用作..中的数组。。。。。

如何使用javascript而不是jquery成功发送json数据。

您应该将
json\u decode
的第二个参数设置为true,以便返回关联数组

$receive_data = json_decode ($_POST['myArray'], true);

您应该将
json\u decode
的第二个参数设置为true,以便返回关联数组

$receive_data = json_decode ($_POST['myArray'], true);

在PHP
stdClass
中,stdClass是派生所有其他对象的基类。反序列化JSON数据中的所有对象都采用这种类型,因为没有其他定义进行通信。使用以下符号访问对象的属性:

$dataObj->varName;
还有一个可选的第二个参数,该参数将对象强制为关联数组,这是您尝试访问属性的方式。

在PHP
stdClass
中,是派生所有其他对象的基类。反序列化JSON数据中的所有对象都采用这种类型,因为没有其他定义进行通信。使用以下符号访问对象的属性:

$dataObj->varName;
还有一个可选的第二个参数,该参数将对象强制为关联数组,这是您尝试访问属性的方式