1

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?

2
  • 2
    How is this JSON string generated ? can`t you generate properly/ Commented Nov 23, 2015 at 15:35
  • str_replace(true, true, $data) Commented Nov 23, 2015 at 15:40

1 Answer 1

8

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

str_replace('"true"', 'true', $data);
Sign up to request clarification or add additional context in comments.

1 Comment

ah indeed that works :) I'll validate in a few minutes

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.