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 關注
- 180 瀏覽
添加回答
舉報