gpt4 book ai didi

json - 用Grails 2.4解析JSON空字符串值

转载 作者:行者123 更新时间:2023-12-02 15:26:44 25 4
gpt4 key购买 nike

用Grails 2.4创建一个类似REST的API,我必须解析JSON内容,例如用于UPDATE / PATCH动词。

我希望将null和空字符串值都解析为null,但是我看到的行为是,当我发送"{'name':'p1', 'description':''}"时,它被解析为[description:, name:p1],该值不是空值,因为它无法处理paramsMap.getAt("description") != null条件

你有没有看到这种行为? ...是否可以使默认的编码器将值转换为null?

最佳答案

如文档所述:

Web requests resulting from form submissions will have blank strings, not null, for input fields that have no value. Keep this in mind when doing mass property binding to properties that are not nullable. The default behavior is such that a blank string will not validate for nullable: false since the data binder will convert blank strings to null. This includes empty strings and blank strings. A blank string is any string such that the trim() method returns an empty string. To turn off the conversion of empty strings to null set the grails.databinding.convertEmptyStringsToNull property to false in Config.groovy. See the data binding section for more details on data binding.



因此,编码器的默认行为是将其转换为null。

检查是否在配置中具有:
// the default value for this property is true
grails.databinding.convertEmptyStringsToNull = false

如果是,那就是问题所在。

我尝试过发布带有空参数的数据,结果为空。

但是,时髦有很多副作用,如果您这样做,实际上是在您写的时候:
print params.description != null ? 'Not null' : 'Null'

您得到“不为空”

但是,如果您写:
params.description ? 'Not null' : 'Null'

你得到'空'

这是我在Groovy Shell中制作的屏幕截图



所以最后不要使用!= null:D

关于json - 用Grails 2.4解析JSON空字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26399765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com