/
(?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:]]*+
(?>