Golang json解析
来源:互联网 发布:网络语666是什么意思 编辑:程序博客网 时间:2024/06/10 06:19
1).返回字段数等于struct数,见代码:
package main import ( "encoding/json" "fmt" "strings" ) type GetResponse struct { Message string `json:message` Success int `json:success` Vild string `json:vild` Core string `json:core` } func main() { sss := `callback_1491381399454({"message": "success", "success": 1, "vild": "bc48a84c5b0175efb6a59b2036f76cd8", "core": "3"})` k := strings.Index(sss, "{") // 找第一个‘{’的位置 l := strings.Index(sss, ")") // 找第一个‘)’的位置 if k == -1 || l == -1 { // 是否查找成功 return } sbss := sss[k:l] fmt.Printf("sss = ") fmt.Println(sss) fmt.Printf("sbss = ") fmt.Println(sbss) var geres GetResponse err := json.Unmarshal([]byte(sbss), &geres) if err != nil { fmt.Println(err.Error()) return } fmt.Printf("geres = ") fmt.Println(geres) fmt.Printf("geres.Vild = %s", geres.Vild) }
2).返回字段数小于定义struct数, 代码如下:
package main import ( "encoding/json" "fmt" "strings" ) type GetResponse struct { Message string `json:message` Success int `json:success` Vild string `json:vild` } func main() { sss := `callback_1491381399454({"message": "success", "success": 1, "vild": "bc48a84c5b0175efb6a59b2036f76cd8", "core": "3"})` k := strings.Index(sss, "{") // 找第一个‘{’的位置 l := strings.Index(sss, ")") // 找第一个‘)’的位置 if k == -1 || l == -1 { // 是否查找成功 return } sbss := sss[k:l] fmt.Printf("sss = ") fmt.Println(sss) fmt.Printf("sbss = ") fmt.Println(sbss) var geres GetResponse err := json.Unmarshal([]byte(sbss), &geres) if err != nil { fmt.Println(err.Error()) return } fmt.Printf("geres = ") fmt.Println(geres) fmt.Printf("geres.Vild = %s", geres.Vild) }
说明:当你接收的 json格式文本字段比定义的结构体字段多的时候,也可以解析成功,只是不能访问多出的字段
本文转载于:
http://blog.csdn.net/impressionw/article/details/69267452
阅读全文
0 0
- golang解析json格式
- goLang 复杂json解析
- Golang json解析
- golang解析json格式
- Golang json解析
- golang解析json格式数据
- golang解析json串数组
- [golang] struct转JSON,解析JSON
- golang学习之html json解析
- golang json解析出现值为空
- Golang Json
- golang json
- [GO]Golang 解析xml 生成json 传到前台
- Go实战--golang中使用号称全世界最快的JSON解析器json-iterator(json-iterator/go)
- golang 处理Json 数组
- golang的json操作
- golang JSON读文件
- golang json 处理
- POJ-2240 Arbitrage
- SQL更新多行数据为不同的值如何实现?
- hello world
- ORACLE 查看RMAN的备份信息总结
- 解决Installation failed with message INSTALL_FAILED_NO_MATCHING_ABIS
- Golang json解析
- SparkSql读取数据和插入数据
- 人工智能与前端技术不能说的秘密
- mysql_replace into
- jxl和poi操作Excel
- 深入Protobuf源码-概述、使用以及代码生成实现
- Centos7安装Mysql
- c#整型转字符型,不足位数的在前面补0
- Java NIO学习笔记三(堆外内存之 DirectByteBuffer 详解)