在PHP Array中访问JSON对象

时间:2016-12-04 21:10:55

标签: javascript php arrays json post

我有一些JS正在向PHP控制器发送POST请求。 JS代码如下:

$.ajax({
  url: 'map-controller/coordcontroller.php',
  data: {myData:JSON.stringify(myArray)},
  type: 'post',
  success: function(output) {
    console.log(output);
  }
});

在服务器端,$ _POST [" myData"]如下:

[{"lat":36.8867497490586,"lng":-76.3046246767044},{"lat":36.88671756964517,"lng":-76.30381464958191}]

据我了解,我的数据驻留在单个元素数组中($ _POST [" myData"]),包含一系列以逗号分隔的对象。我尝试过json_decode(),但我觉得它不起作用,因为我的数据对象实际上是一个数组而不是实际的JSON数据。

我的问题:如何在循环中访问每个对象?或者我的实现有缺陷,我应该修改我的Javascript以不同的方式发送数据吗?

1 个答案:

答案 0 :(得分:0)

var_dump (json_decode($_POST["myData"]));

结果:

array(2) {
  [0]=>
  object(stdClass)#1 (2) {
    ["lat"]=>
    float(36.886809817261)
    ["lng"]=>
    float(-76.304672956467)
  }
  [1]=>
  object(stdClass)#2 (2) {
    ["lat"]=>
    float(36.886146919127)
    ["lng"]=>
    float(-76.305075287819)
  }
}

我的错误是使用echo而不是var_dump来检查已解码的对象。