viniciussanchez / dataset-serialize

JSON to DataSet and DataSet to JSON converter for Delphi and Lazarus (FPC)
MIT License
653 stars 161 forks source link

Campos string '' #238

Open alissonrodrigo opened 5 months ago

alissonrodrigo commented 5 months ago

É possível verificar se um campo do tipo string está igual '' e a biblioteca setar com NULL?

Fazer a contagem de carácteres e se for zero indicar como NULl no json

Grato

viniciussanchez commented 5 months ago

Bom dia, nos envie a implementação que vamos analisar... acredito que teria que ter alguma configuração para isso também se vai fazer ou não esse tratamento.

alissonrodrigo commented 5 months ago

Eu não cheguei a implementar ainda. Me deparei com esta situação e perguntei se já teria esta função. Que na hora de gerar o json ficaria assim

{ "campo": NULL }

em vez disso { "campo":"" }

viniciussanchez commented 5 months ago

Entendi... estava olhando aqui nas configurações, acho que ja tem isso que voce quer: TDataSetSerializeConfig.GetInstance.Export.ExportNullAsEmptyString

alissonrodrigo commented 5 months ago

Ha sim, vou olhar no código.

alissonrodrigo commented 5 months ago

isnull

O código faz a checagem apenas se o campo e NULL, digo que seria interessante uma contagem de caracteres

if (LField.IsNull) or (LField.Trim.Length = 0) then

viniciussanchez commented 5 months ago

Na verdade ali é o seguinte... verifica se exporta valores null Se exporta valores null, verifica se o null deve virar uma '', se sim exporta o campo num como '', caso contrário, exporta como null mesmo. Então não atende a sua necessidade... o que voce quer é o contrário... você quer que um campo '' seja exportado como null... então teria que ter a configuração nova mesmo, por exemplo: ExportEmptyStringAsNull

alissonrodrigo commented 5 months ago

Entendi. então não existe está opção

viniciussanchez commented 5 months ago

Não... teria que criar

alissonrodrigo commented 5 months ago

Ok, Obrigado pela atenção. Se achar interessante criar este recurso deixe o commit aqui. Grato

cauenishijima commented 1 month ago

Olá estava tento o mesmo problema que o @alissonrodrigo....

Ai acredito que com essas modificações resolveria:

image

image

image

viniciussanchez commented 1 month ago

@cauenishijima gostaria de enviar o pull request?