popData
为从Redis取出来的数据,Interface{}
类型,转换String
错误解法
var popJsonStr string = popData.(string)
fmt.Println(popJsonStr)
var taskData map[string]string
err = json.Unmarshal([]byte(popJsonStr), &taskData)
fmt.Println("================== TEST TASK DATA ====================")
fmt.Println(taskData)
if nil != err {
fmt.Println(err.Error())
continue
}
//处理
正确解法
需要用Unquote
函数解析引号。
函数假设s是一个半引号、双引号、反引号包围的go语法字符串,解析它并返回它表示的值
var popJsonStr string = popData.(string)
fmt.Println(popJsonStr)
jsonInput, err := strconv.Unquote(popJsonStr)
if nil != err {
fmt.Println(err.Error())
continue
}
var taskData map[string]string
err = json.Unmarshal([]byte(jsonInput), &taskData)
fmt.Println("================== TEST TASK DATA ====================")
fmt.Println(taskData)
if nil != err {
fmt.Println(err.Error())
continue
}
//处理
网友评论