Supports unmarshal json body to struct directly