将以下JSON数据视为字符串
'{"prop0":"true", "prop1":
[
{"prop0":"false", "prop1":"true", "prop2":
[
{"prop0":"false"}
]
}
]
}'
这个结构是动态的,可能有更多的节点、子节点等。这就是我的后端接收这个"不干净"JSON数据(实际上是一个字符串)的方式。对于性能问题,我试图避免解析为JSON obj,并在每个节点中循环,以发现是否有一个可以转换为布尔值的字符串。
我知道如何做到这一点,我只是想知道是否有一个"神奇"的解决方案可以在字符串中用true代替"true",比如
str_replace("true", true, $data);
这显然行不通。毕竟,我只需要删除布尔值周围的引号。有人知道快速的方法吗?
我想您的str_replace
尝试已经非常接近了。这应该做你正在寻找的:
str_replace('"true"', 'true', $data);