用JSON字符串中的布尔值替换字符串?
Posted
技术标签:
【中文标题】用JSON字符串中的布尔值替换字符串?【英文标题】:Replacing string by boolean in a JSON string? 【发布时间】:2015-11-23 15:30:25 【问题描述】:将以下 JSON 数据视为字符串
'"prop0":"true", "prop1":
[
"prop0":"false", "prop1":"true", "prop2":
[
"prop0":"false"
]
]
'
这个结构是动态的,可能有更多的节点、子节点等。这就是我的后端接收这个“不干净”的 JSON 数据(实际上是一个字符串)的方式。对于性能问题,我试图避免解析为 JSON obj 并循环遍历每个节点以查找是否存在可以转换为布尔值的字符串。
我知道该怎么做,我只是想知道是否会有一个“神奇”的解决方案将“true”替换为 字符串中的 true,类似于
str_replace("true", true, $data);
这显然行不通。毕竟我需要的是删除布尔值周围的引号。有谁知道快速的方法吗?
【问题讨论】:
这个 JSON 字符串是如何生成的?你不能正确生成/ str_replace(true, true, $data) 【参考方案1】:我想您与str_replace
的尝试非常接近。这应该可以满足您的需求:
str_replace('"true"', 'true', $data);
【讨论】:
啊,确实有效 :) 我会在几分钟内验证以上是关于用JSON字符串中的布尔值替换字符串?的主要内容,如果未能解决你的问题,请参考以下文章
用 html/jquery 中的一个 JSON 字符串替换许多数据标签 [重复]