Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Campos string '' #238

Open
alissonrodrigo opened this issue Jun 12, 2024 · 11 comments
Open

Campos string '' #238

alissonrodrigo opened this issue Jun 12, 2024 · 11 comments

Comments

@alissonrodrigo
Copy link

É 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
Copy link
Owner

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
Copy link
Author

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
Copy link
Owner

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

@alissonrodrigo
Copy link
Author

Ha sim, vou olhar no código.

@alissonrodrigo
Copy link
Author

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
Copy link
Owner

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
Copy link
Author

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

@viniciussanchez
Copy link
Owner

Não... teria que criar

@alissonrodrigo
Copy link
Author

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

@cauenishijima
Copy link
Contributor

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

Ai acredito que com essas modificações resolveria:

  • no arquivo DataSet.Serializa.Config adicionar a propriedade "ExportEmptyStringAsNull":

image

  • no Create do TDataSetSerializeConfigExport defini o padrão como False pra não alterar o comportamento padrão:

image

  • na unit DataSet.Serialize.Export no método DataSetToJSONObject quando o tipo é string e o valor é vazio eu faço a checagem se a propriedade EmportEmptyStringAsNull é true e atribuo o TJsonNull.Create()

image

@viniciussanchez
Copy link
Owner

@cauenishijima gostaria de enviar o pull request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants