go 变量与json相互转换

简介: go 变量与json相互转换

把float64 秒 时间格式化

secToSrtTime := func(start, end float64) string {
    startI := int64(start * 1e9)
    endI := int64(end * 1e9)
    // 00:00:00.000
    stdTime := func(t time.Duration) string {
      return fmt.Sprintf("%02d:%02d:%02.3f", int(t.Hours()), int(t.Minutes()), t.Seconds())
    }
    // 不要加换行
    return stdTime(time.Duration(startI)) + " --> " + stdTime(time.Duration(endI)) + " line:0% "
  }

struct 转字符串 str

package main
import (
    "encoding/json"
    "fmt"
    "reflect"
)
// 结构体 中的 数据 一定要 开头大写`json:"year" `
type mydata struct {
    Year1  string
    Month1 string `json:"month"`
    Day1   string `json:"day"`
}
func main3() {
    mydata_1 := []mydata{{"1", "2", "3"}, {"2", "4", "6"}}
    json_mydata, resinfo1 := json.Marshal(mydata_1)
    fmt.Println(string(json_mydata), resinfo1)

字符串 str 转 struct

    json_byt1 := []byte(`{"num":613,"strs":["a","b"]}`)
    var loud_json1 map[string]interface{}
    _ = json.Unmarshal(json_byt1, &loud_json1)
    num1 := loud_json1["num"]
    fmt.Println(num1)
    fmt.Println(reflect.TypeOf(num1))
}
相关文章
初识go变量,使用var和:=来声明变量,声明变量的三种方式
这篇文章介绍了Go语言中使用`var`和`:=`声明变量的三种不同方式,包括声明单个或多个变量、通过值确定数据类型以及在函数体内使用`:=`声明局部变量。
初识go变量,使用var和:=来声明变量,声明变量的三种方式
|
3月前
|
JSON 人工智能 编译器
Go json 能否解码到一个 interface 类型的值
Go json 能否解码到一个 interface 类型的值
30 1
|
3月前
|
JSON Go 数据格式
Go - json.Unmarshal 遇到的小坑
Go - json.Unmarshal 遇到的小坑
59 9
|
3月前
|
Go
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
|
3月前
|
安全 Go
|
3月前
|
自然语言处理 Go 开发者
深入理解Go语言中的变量作用域
【8月更文挑战第31天】
24 0
|
3月前
|
JSON Go 数据格式
Go实现json字符串与各类struct相互转换
文章通过Go语言示例代码详细演示了如何实现JSON字符串与各类struct之间的相互转换,包括结构体对象生成JSON字符串和JSON字符串映射到struct对象的过程。
25 0
|
4月前
|
JSON Java Serverless
函数计算产品使用问题之如何使用Go SDK从HTTP上下文中提取JSON数据
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4月前
|
JSON 前端开发 JavaScript
Go怎么解析不定JSON数据?
在Go中处理不确定结构的JSON数据,可以使用`map[string]interface{}`来解析,它能适应各种JSON键值对,但需要类型检查。另一种方法是使用`json.RawMessage`保存原始JSON,之后按需解析。此外,`json.Number`用于处理任意精度的数字。当JSON字段类型未知时,可以先解码到`interface{}`并做类型断言。第三方库如gjson和jsonparser提供更灵活的解析选项。
|
5月前
|
存储 安全 Go
【Go语言精进之路】构建高效Go程序:掌握变量、常量声明法则与iota在枚举中的奥秘
【Go语言精进之路】构建高效Go程序:掌握变量、常量声明法则与iota在枚举中的奥秘
59 2