1

我有一个从 Redbean 生成的名为“聚合”的表,其中包含以下列:

id      - INT(11)
user_id - TINYINT(3)
code    - VARCHAR(255)
sample  - INT(11)

但是当我“退出”这段代码时:

$aggregates = json_encode(Orm::exportAll(Orm::find('aggregates')));
exit($aggregates);

从 php,我得到这个 json 输出:

[
 {"id":"1",  "user_id":"1", "code":"baffdadsad", "sampleWeight":"100"},
 {"id":"2",  "user_id":"1", "code":"prova",      "sampleWeight":"900"},
 {"id":"3",  "user_id":"1", "code":"asdsa",      "sampleWeight":"120"},
 {"id":"4",  "user_id":"2", "code":"grana",      "sampleWeight":"89"},
 {"id":"14", "user_id":"1", "code":"get",        "sampleWeight":"1001"},
 {"id":"15", "user_id":"1", "code":"saghf",      "sampleWeight":"232"}
]

id和sampleWeight字段应该是numbers ,为什么Redbeans不认识呢?我能做些什么?

在 Redbean 文档http://redbeanphp.com/import_and_export 我发现了这部分文本:

从 3.3 版开始:只导出一组特定的 bean 类型: R::exportAll( $beans, true, $filters ); 这里 $filters 包含要导出的类型列表。

可能是 exportAll 我的问题?

4

1 回答 1

1

我的问题可以通过使用 JSON_NUMERIC_CHECK预定义常量来解决,如下所示:

$json_aggregates = json_encode($array, JSON_NUMERIC_CHECK);

这将输出带有数字而不是字符串数字的正确 json,顺便说一下,我不确定是否是最好的解决方案......

于 2013-02-27T10:41:54.493 回答