/
(?smx)
(?(DEFINE)
(?<jsonObject>
\{(?&jsonField)(?>,(?&jsonField))*+\}|
\{[[:space:]]*+\}
)
(?<jsonArray>
\[(?&jsonValue)(?>,(?&jsonValue))*+\]|
\[[[:space:]]*+\]
)
(?<string>
"
[^"\\]*+
(?>
(?>
\\["\\\/rntfb]|
\\u[[:xdigit:]]{4}
)++
[^"\\]*+
)*+
"
)
(?<number>
\-?+
(?>
[1-9][[:digit:]]*+|
0
)
(?>\.[[:digit:]]++)?+
(?>[eE][\+\-]?+[[:digit:]]++)?+
)
(?<jsonValue>
[[:space:]]*+
(?>
(?&string)|
(?&number)|
(?&jsonObject)|
(?&jsonArray)|
false|
true|
null
)
[[:space:]]*+
)
(?<jsonField>
[[:space:]]*+(?&string)[[:space:]]*+\:
(?&jsonValue)
)
)
^(?&jsonValue),\n
/
g