SuperObject no puede manejar una cadena nula

Algunos serializadores JSON vuelvennull para un campo de datos de cadena vacía, p. ej.

{
 "searchtext": null,
 "moretext": "contains something",
 "bookdate": 1377468000000,
 "empid": 12345,
 "listtype": 1
}

Estoy usando SuperObject para crear un ISuperObject:

var
  FJSONRequest: ISuperObject; 
then
  FJSONRequest := SO(Request.Content);   // Webservice request

Esto devuelve un objeto con una cadena que contiene el texto.'null'.

Obviamente, esto se debe a que SuperObject no se preocupa por las comillas ("searchtext": a da los mismos resultados que"searchtext": "a").

Antes de sumergirme en la rutina del tokenizador de 980 líneas, ¿alguien tiene una solución?

Estoy pensando a lo largo de las líneas (ya sea / o):

dejar el campo de datos nulo fuera del objeto JSON

devolver una cadena vacía

Si todo lo demás falla, todavía podría hacer.

FJSONRequest := SO(StringReplace(Request.Content,': null,',':,',[rfReplaceAll]));  

porque solo necesito manejar solicitudes provenientes de una aplicación de uno de nuestros desarrolladores, pero eso no es infalible.
(No, él no puede suprimir lanull porqueHay un error en la forma en que Mono maneja su contrato de datos..)

Por cierto estoy experimentando exactamenteel comportamiento mencionado aquí, pero en otra parte del código de SuperObject, para que la solución no haga el trabajo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta