我有一个从Redbean生成的名为“aggregate”的表,其中包含以下列:
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 字段应为数字,为什么Redbeans不会识别?我该怎么办?
关于Redbean文档http://redbeanphp.com/import_and_export 我发现了这段文字:
从版本3.3开始:仅导出一组特定的bean类型:R :: exportAll($ beans,true,$ filters);这里$ filters包含要导出的类型列表。
可能是导出我的问题吗?
答案 0 :(得分:1)
我的问题可以通过使用JSON_NUMERIC_CHECK predefined constant来解决:
$json_aggregates = json_encode($array, JSON_NUMERIC_CHECK);
将使用数字而不是字符串数字输出正确的json,我不确定顺便提一下是否是最佳解决方案......