获取Li3将JSON结果作为对象数组返回,而不是对象的对象

时间:2015-01-04 04:15:41

标签: json lithium

我正在尝试将GET请求的JSON结果用于我的Li3应用程序,但我希望结果是返回的JSON对象的数组,而不是JSON对象的对象。

我的视图文件(index.html.php)中有以下代码:
print($todos->to('json'));

这导致每一行成为一个JSON对象(好),但是在一个过度的JSON对象中。

{
    "1": {
        "id": "1",
        "title": "One",
        "done": "0"
    },
    "2": {
        "id": "2",
        "title": "Two",
        "done": "0"
    },
    "3": {
        "id": "3",
        "title": "Three",
        "done": "0"
    },
    "4": {
        "id": "4",
        "title": "Four",
        "done": "0"
    }
}

我想得到:

[
    {
        "id": "1",
        "title": "One",
        "done": "0"
    },
    {
        "id": "2",
        "title": "Two",
        "done": "0"
    },
    {
        "id": "3",
        "title": "Three",
        "done": "0"
    },
    {
        "id": "4",
        "title": "Four",
        "done": "0"
    }
]

注意:我发现提交的情况(对象数组)" 974469cf25db5cbab61f3e1ff172405f4635032e" lithium github project的{{3}},但在提交后的任何内容中,结果都是对象的对象。

2 个答案:

答案 0 :(得分:3)

尝试使用$todos->to('json', ['indexed' => false]),或者在没有模板的情况下参考Media类直接序列化JSON。

答案 1 :(得分:0)

Todos::all(['return' => 'array'))->to('json');也适用于RecordSet