add json-format function