一尘不染

强制json_encode创建字符串

json

我必须将PHP数组json_encode编码为JavaScript数组。不幸的是,如果我使用的jQuery库包含int而不是字符串,则无法正确处理该数组。

大多数情况下,这将产生仅包含字符串的适当数组:

json_encode($data)

即使$ data仅包含数字,我通常也会得到这个

["3","7","8"]

但是有时候,我得到这样的结果(注意零):

["9691","1792","26","1","4","15",0,"1"]

或这个

[16171,15470,10390,7585]

(请注意,这显然是不同的数据以说明正在发生的事情)。我需要强制json_encode将数组值视为字符串。我知道有相反的选项JSON_NUMERIC_CHECK强制执行数字。难道真的不存在吗?似乎我唯一的选择是在JavaScript端再次处理该数组,虽然可能,但在某种程度上破坏了我的对象的封装。


阅读 287

收藏
2020-07-27

共1个答案

一尘不染

如果有相反的JSON_NUMERIC_CHECK说法,那就好了,但是看起来好像不一样。

为什么不能在编码之前确保php中的数据类型正确?

这可能意味着您必须手动将其转换为字符串…

2020-07-27