def METHOD_NAME(vs, fp):
        vcols = vs.visibleCols
        jsonenc = _vjsonEncoder()
        with Progress(gerund='saving'):
            for i, row in enumerate(vs.iterrows()):
                rowdict = _rowdict(vcols, row, keep_nulls=(i==0))
                fp.write(jsonenc.encode(rowdict) + '\n')
        if len(vs) == 0:
            vd.warning(
                "Output file is empty - cannot save headers without data for jsonl.\n"
                "Use `.jsonla` filetype to save as JSONL arrays format "
                "rather than JSONL dict format to preserve the headers."
            )