一、string跟[]byte的关系git
string跟[]byte能够相互转换github
s1 := "abcd" b1 := []byte(s1) fmt.Println(b1) // [97 98 99 100] s2 := "中文" b2 := []byte(s2) fmt.Println(b2) // [228 184 173 230 150 135], unicode,每一个中文字符会由三个byte组成
二、json字符串转jsonjson
var dat map[string]interface{} if err := json.Unmarshal([]byte(newstr), &dat); err == nil { fmt.Println(dat["info"]) }
json字符串转json经过Unmarsha方法转换,接受[]byte参数,所以咱们能够经过[]byte[string]把string转换为[]byte将json字符串转换后放到map中url
三、为何要用gosoncode
上面把json字符串转换成了map[string]interface{}咱们会发现,咱们接下来没有办法去遍历json中的某个字段做进一步处理,除非咱们定义好告终构体。而goson提供了咱们一个方案regexp
github.com/panthesingh/gosonunicode
四、正则匹配字符串
result := util.HttpGet(onlineurl) reg := regexp.MustCompile(`\{.+\}`) strslince := reg.FindAllString(result, -1) newstr := strings.Join(strslince, "")
正则匹配后的字符串是[]string格式并不是string格式,咱们要把[]string转换为string才能进一步转换成json,我用的string.Join方法,应该有更好方法string