我一直在使用一些 javascript 库,我注意到它们中的大多数都以这种形式接受输入:[{"foo": "bar", "12": "true"}]
根据 json.org:
所以我们发送一个数组中的对象。
所以我有一个两部分的问题:
第 1 部分: 为什么不直接发送对象或数组,这看起来更简单?
第二部分: 使用 Php 创建这样的 Json 的最佳方法是什么?
这是一个可行的方法,但我发现它有点难看,因为它不能直接用于多维数组:
<?php
$object[0] = array("foo" => "bar", 12 => true);
$encoded_object = json_encode($object);
?>
输出:
{"1": {"foo": "bar", "12": "true"}}
<?php $encoded = json_encode(array_values($object)); ?>
输出:
[{"foo": "bar", "12": "true"}]
最佳答案
因为这是传递多个对象 的合乎逻辑的方式。它可能是为了促进这一点:
[{"foo" : "bar", "12" : "true"}, {"foo" : "baz", "12" : "false"}]
在 PHP 中使用相同的逻辑结构:
echo json_encode(array(array("foo" => "bar", "12" => "true")));
关于php - 为什么使用 json 的 javascript 库选择 [ { } , { } ] 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12138795/