SuperObject não pode manipular cadeia nula

Alguns serializadores JSON retornamnull para um campo de dados de cadeia vazia, e.

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

Estou usando o SuperObject para criar um ISuperObject:

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

Isso retorna um objeto com uma string contendo o texto'null'.

Obviamente, isso ocorre porque o SuperObject não se importa com as aspas ("searchtext": a dá os mesmos resultados que"searchtext": "a").

Antes de mergulhar na rotina do tokenizer de 980 linhas, alguém tem uma solução?

Estou pensando nas linhas (ou / ou):

deixe o campo de dados nulo fora do objeto JSON

retornar uma string vazia

Se tudo mais falhar, eu ainda poderia fazer

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

porque eu só preciso lidar com solicitações vindas de um aplicativo de um de nossos desenvolvedores, mas isso não é infalível.
(Não, ele não pode suprimir onull Porquehá um bug no modo como o Mono lida com seu datacontrato.)

BTW estou experimentando exatamenteo comportamento mencionado aqui, mas em outra parte do código SuperObject, para que a solução alternativa não faça o trabalho.

questionAnswers(1)

yourAnswerToTheQuestion