This is a kinda perverse use of continue, when there's only one statement in the rest of the loop.
<code> if (cond) { continue; } stuff; </code> as a loop-body is equivalent to <code> if (!cond) { stuff; } </code>
So how about writing this as (I think it's clearer): <code>
if (rp->val.type == RVAL_TYPE_SCALAR && 
    strcmp(RlistScalarValue(value), CF_NULL_VALUE) != 0)
{
    JsonArrayAppendString(convert, RlistScalarValue(rp));
}
</code> ?