dsour68888
dsour68888
2015-11-23 15:30

在JSON字符串中用布尔值替换字符串?

已采纳

Consider the following JSON data as string

'{"prop0":"true", "prop1":
    [
       {"prop0":"false", "prop1":"true", "prop2":
          [
             {"prop0":"false"}
          ]
       }
     ]
 }'

This structure is dynamic and could have a lot more nodes, children etc. This is how my backend receives this "unclean" JSON data (that is in fact a string). For performance matters, I'm trying to avoid to parse to a JSON obj and cycle through every node to find is there is a string that can be converted to boolean.

I know how to do that, I'm just wondering if there would be a "magical" solution to replace "true" by true inside the string, something like

str_replace("true", true, $data);

That obviously won't work. All I need after all is to remove the quotes around the boolean value. Does anyone know of a quick way to do that?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • dongmei2956 dongmei2956 6年前

    I suppose you were very close with your str_replace attempt. This should do what you're looking for:

    str_replace('"true"', 'true', $data);
    
    点赞 评论 复制链接分享