Sorry Marc to answer quite times after..
I have solved my need by pure VimL autocommand and vim9 func.
autocmd BufEnter *.json g:FormatJson()
def g:FormatJson() # {{{
if ( line('$') == 1 ) # when json is not expanded
silent! :%s/\("\w\+":\)\({\|\("[^"]\+"\(}*,\)\)\)/\1 \2/g
silent! :%s/\(},\)/\1/g
silent! :%s/\(^{\)/\1/g
silent! :%s/\("[^"]\+"\)}/\1}/g
silent! :%s/\(}\)}/\1}/g
silent! norm gg=GG1G
else
# silent! norm ggVG1J just for debug
endif
enddef # }}}