updated json macro with negative lookahead to handle single line json blocks