3 回答
TA贡献1856条经验 获得超5个赞
构建 JSON 时,您可以使用该interface{}
变量的任何结构:
data.CustomFields=myStructVar
上面的myStructVar
是可以编组为 JSON 的任何结构。
如果您没有自定义字段的结构,您可以使用map[string]interface{}
:
data.CustomFields=map[string]interface{}{"field1":"value1","field2":"value2"}
当您解组 JSON 输入时,interface{}
自定义字段将被解组为map[string]interface{}
JSON 对象、[]interface{}
JSON 数组或原始值之一(string、float64、bool)。
TA贡献1772条经验 获得超5个赞
我做了这段代码...
它似乎无法正常工作,我做错了什么?
tenantCustomFields := d.Get("custom_field").(*schema.Set).List()
cf := make(map[string]interface{})
for _, customFieldRaw := range tenantCustomFields {
customField := customFieldRaw.(map[string]interface{})
customFieldName := customField["name"].(string)
customFieldType := customField["type"].(string)
customFieldValue := customField["value"].(string)
if customFieldType == "string" {
cf[customFieldName] = customFieldValue
} else if customFieldType == "integer" {
cfIntValue, err := strconv.ParseInt(customFieldValue, 10, 64)
if err == nil {
return err
}
cf[customFieldName] = cfIntValue
} else if customFieldType == "boolean" {
cfBoolValue, err := strconv.ParseBool(customFieldValue)
if err == nil {
return err
}
cf[customFieldName] = cfBoolValue
}
}
- 3 回答
- 0 关注
- 135 浏览
添加回答
举报