JSON到PHP关联数组

JSON到PHP关联数组,php,json,facebook,associative-array,Php,Json,Facebook,Associative Array,你们中有谁知道一个很好的方法把它放到一个关联数组中吗。我试过了,但发现没有多大帮助 这是我需要放入关联数组的数据: { "data": [ { "name": "Joe Bloggs", "id": "203403465" }, { "name": "Fred Bloggs", "id": "254706567" }, { "name": "Barny Rubble", "id":

你们中有谁知道一个很好的方法把它放到一个关联数组中吗。我试过了,但发现没有多大帮助

这是我需要放入关联数组的数据:

{
  "data": [
    {
      "name": "Joe Bloggs",
      "id": "203403465"
    },
    {
      "name": "Fred Bloggs",
      "id": "254706567"
    },
    {
      "name": "Barny Rubble",
      "id": "453363843"
    },
    {
      "name": "Homer Simpson",
      "id": "263508546"
    }
  ]
}

编辑:

在我接受了答案后,我想起了为什么我认为json_解码不起作用

而不是像这样使用关联数组:

[0] => Array
(
    [name] => Joe Bloggs
    [id] => 203403465
)
Array
(
    [Joe Bloggs] => 45203340465
    [Fred Bloggs] => 65034033446
)
我想要一个这样的:

[0] => Array
(
    [name] => Joe Bloggs
    [id] => 203403465
)
Array
(
    [Joe Bloggs] => 45203340465
    [Fred Bloggs] => 65034033446
)
不幸的是,我当时忘记了这一点。。但我现在已经解决了我的问题


谢谢你的帮助

我想你的json是通过ajax实现的。。。。(否则代码将与json_decode一起工作) 因此,请确保json字符串化了您的对象并

您需要在json_解码之前删除斜杠;-)在php中,您的数据对我有效:

print_r(json_decode('{
       "data": [
          {
             "name": "Joe Bloggs",
             "id": "203403465"
          },
          {
             "name": "Fred Bloggs",
             "id": "254706567"
          },
          {
             "name": "Barny Rubble",
             "id": "453363843"
          },
          {
             "name": "Homer Simpson",
             "id": "263508546"
          }
       ]
    }
', true));
输出:

Array
(
    [data] => Array
        (
            [0] => Array
                (
                    [name] => Joe Bloggs
                    [id] => 203403465
                )

            [1] => Array
                (
                    [name] => Fred Bloggs
                    [id] => 254706567
                )

            [2] => Array
                (
                    [name] => Barny Rubble
                    [id] => 453363843
                )

            [3] => Array
                (
                    [name] => Homer Simpson
                    [id] => 263508546
                )

        )

)

将第二个参数设置为
true
将返回一个关联数组。

您必须创建一个新数组

$json_array = json_decode($_POST['json'], true);
$assoc_array = array();

for($i = 0; $i < sizeof($json_array); $i++)
{
     $key = $json_array[$i]['name'];
     $assoc_array[$key] = $json_array[$i]['value'];
}
$json\u array=json\u decode($\u POST['json'],true);
$assoc_array=array();
对于($i=0;$i

您将获得$assoc_数组中的关联数组,现在可以使用索引直接访问。

以防万一。。。除了uid外,facebook用户数据的存储时间不得超过24小时…@helle:现在不再是这种情况了,它不是通过AJAX实现的,但出于某种原因,现在当我使用json_解码时,它会按照我最初的预期工作。非常奇怪,因为当我删除条纹斜线时,它也可以工作。。。也许我以前试过的时候把事情弄糟了。非常感谢helle让我重回正轨:o)谢谢你的回答webbiedave,如果你看到我对helle评论的最后评论,你就会看到我做了什么+我期待的回应是1!这就是我需要的。