英文:
How to insert null value in JSON type in golang
问题
我已经为某些目的创建了远程模式,我必须插入一个像这样的 JSON 值:
"convert_to_money": {"IDR":10000},
我创建了一个这样的变异字段:
"convert_to_money": {
Type: scalar.JSON,
},
解析器如下:
Convert_to_money := p.Args["convert_to_money"].(map[string]interface{})
结构体如下:
type TimeOvertimePolicy struct {
ConvertToMoney JSONB
}
处理程序如下:
func UpdateOvertimesPolicy(Convert_to_money model.JSONB) (res gqltypes.SuccessType, err error) {
timeOvertimesPolicy := model.TimeOvertimePolicy{
ConvertToMoney: Convert_to_money,
}
err = pg.DB.Transaction(func(tx *gorm.DB) error {
d := tx.Create(&timeOvertimesPolicy)
}
}
我该如何为这种情况输入空值?
当前正在运行的情况下,如果变量为空,我必须插入一个变量 convert_to_money: {}
。
如果变量为空,我希望能够像这样插入变量:
"convert_to_money": null
英文:
i have create remote schema for some purpose i have to insert a json value like this
"convert_to_money": {"IDR":10000},
i create a mutation field like this
"convert_to_money": {
Type: scalar.JSON,
},
resolver like this :
Convert_to_money := p.Args["convert_to_money"].(map[string]interface{})
struct like this :
type TimeOvertimePolicy struct {
ConvertToMoney JSONB
}
and handler like this :
func UpdateOvertimesPolicy(Convert_to_money model.JSONB) (res gqltypes.SuccessType, err error) {
timeOvertimesPolicy := model.TimeOvertimePolicy{
ConvertToMoney: Convert_to_money,
}
err = pg.DB.Transaction(func(tx *gorm.DB) error {
d := tx.Create(&timeOvertimesPolicy)
}
}
How can i do input null value for case like this?
Which is running now I have to insert a variable "convert_to_money": {}
like this if the variable is null
I wish i can insert variable like this if null
"convert_to_money": null
答案1
得分: 1
在go
语言中,指针类型存在nil
(空)值。因此,如果你想插入一个nil
值,那么你的Convert_to_money
函数应该是指针类型。
英文:
In go
nil
(null) exist for pointers. So if you want to insert a nil
value then your Convert_to_money
should be of a pointer type.
答案2
得分: 0
你可以像这样插入变量:
"convert_to_money": nil
英文:
You can insert vairable like this
"convert_to_money": nil
答案3
得分: 0
如果你正在使用gorm,你可以使用pgtype.JSONB来初始化一个"null"值:
pgtype.JSONB{Status: pgtype.Null}
英文:
If you're using gorm, you can use pgtype.JSONB to init a "null" value:
> pgtype.JSONB{Status: pgtype.Null}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论