golang的json处理
2016-11-19 00:00
459 查看
1、string跟[]byte的关系
string跟[]byte可以相互转换
2、json字符串转json
json字符串转json通过Unmarsha方法转换,接受[]byte参数,因此我们可以通过[]byte[string]把string转换为[]byte将json字符串转换后放到map中
3、为什么要用goson
上面把json字符串转换成了map[string]interface{}我们会发现,我们接下来没有办法去遍历json中的某个字段作进一步处理,除非我们定义好了结构体。而goson提供了我们一个方案
github.com/panthesingh/goson
4、正则匹配
正则匹配后的字符串是[]string格式并非string格式,我们要把[]string转换为string才能进一步转换成json,我用的string.Join方法,应该有更好方法
string跟[]byte可以相互转换
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组成
2、json字符串转json
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中
3、为什么要用goson
上面把json字符串转换成了map[string]interface{}我们会发现,我们接下来没有办法去遍历json中的某个字段作进一步处理,除非我们定义好了结构体。而goson提供了我们一个方案
github.com/panthesingh/goson
4、正则匹配
result := util.HttpGet(onlineurl) reg := regexp.MustCompile(`\{.+\}`) strslince := reg.FindAllString(result, -1) newstr := strings.Join(strslince, "")
正则匹配后的字符串是[]string格式并非string格式,我们要把[]string转换为string才能进一步转换成json,我用的string.Join方法,应该有更好方法
相关文章推荐
- golang json 处理的一些例子代码
- golang 操作XML、JSON处理库
- golang 处理Json 数组
- golang json 处理
- golang的JSON处理
- golang json处理
- golang学习笔记-json的处理
- golang处理 json中非法字符
- Golang 处理 Json(二):解码
- golang进阶(五)——restful开发的json处理
- Golang 处理 Json(一):编码
- golang json配置文件处理
- golang json处理struct未导出成员
- Golang中一个不错的处理 JSON 的库 go-dproxy
- Golang 的json处理
- 稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据
- Struts2 json插件中文乱码的处理
- JSON处理方法
- 稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据
- 在Nhibernate中使用Json.net中出现Self referencing loop的错误的处理