PHP中带有属性的JSON对象

PHP中带有属性的JSON对象,php,json,Php,Json,创建具有相同属性的对象的等效PHP数组结构是什么: 例如。。。使用json_encode在PHP中创建下面的对象“列”: jQuery('#example').dataTable( { "ajaxSource": "sources/objects.txt", "columns": [ { "data": "engine" }, { "data": "browser" }, { "data": "platform" }, { "data": "version

创建具有相同属性的对象的等效PHP数组结构是什么:

例如。。。使用json_encode在PHP中创建下面的对象“列”:

jQuery('#example').dataTable( {
  "ajaxSource": "sources/objects.txt",
  "columns": [
    { "data": "engine" },
    { "data": "browser" },
    { "data": "platform" },
    { "data": "version" },
    { "data": "grade" }
  ]
} );

(我正在尝试构建一个动态数据表,并在源JSON中定义列。

您可以使用ArrayObject

new ArrayObject([
 "ajaxSource" => "...",
  "columns" => [
    new ArrayObject(['data' => 'engine']),
    new ArrayObject(['data' => 'browser']),
    new ArrayObject(['data' => 'etc'])
  ]
]);
如果你想组装它,你需要将对象存储在一个数组中,比如

$columns = [];
for(...) {
$columns[] = new ArrayObject(['data' => 'etc']);
}

看看

为什么不干脆
json_decode(你的_json);
?我正在使用json_decode…但我不确定如何在PHP中创建json_decode将使用该结构输出的结构。我不确定我是否理解…如果我执行以下操作:$object=newArrayObject([“title”=>“x”];$object=newArrayObject([“title”=>“y”]));$object=newarrayObject([“title”=>“z”]);结果是:{“title”:“z”}@FishBulbX您需要使用$object[]而不是$object。如果没有[],您只需将一组值赋给$object,当然最后一个值将覆盖前面的所有值。使用[],php将识别这是一个数组,并将新值添加到数组的尾部。