golang的json处理

一、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

相关文章
相关标签/搜索