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))
}
相关文章
|
8月前
|
Go 容器
Go语言变量与常量 -《Go语言实战指南》
本章详细介绍了Go语言中变量与常量的基础知识。变量支持多种声明方式,包括标准声明、类型推导和短变量声明等,未初始化的变量会自动赋零值。常量在声明时必须赋值,且运行时不可更改,支持使用`iota`实现枚举。两者的主要区别在于变量可变而常量不可变,变量有零值而常量必须初始化。此外,还强调了`:=`的使用限制及代码整洁性要求,并通过实践示例巩固理解。掌握这些内容是学好Go语言的关键基础。
初识go变量,使用var和:=来声明变量,声明变量的三种方式
这篇文章介绍了Go语言中使用`var`和`:=`声明变量的三种不同方式,包括声明单个或多个变量、通过值确定数据类型以及在函数体内使用`:=`声明局部变量。
初识go变量,使用var和:=来声明变量,声明变量的三种方式
|
8月前
|
JSON JavaScript 前端开发
Go语言JSON 序列化与反序列化 -《Go语言实战指南》
本文介绍了 Go 语言中使用 `encoding/json` 包实现 JSON 与数据结构之间的转换。内容涵盖序列化(`Marshal`)和反序列化(`Unmarshal`),包括基本示例、结构体字段标签的使用、控制字段行为的标签(如 `omitempty` 和 `-`)、处理 `map` 和切片、嵌套结构体序列化、反序列化未知结构(使用 `map[string]interface{}`)以及 JSON 数组的解析。最后通过表格总结了序列化与反序列化的方法及类型要求,帮助开发者快速掌握 JSON 数据处理技巧。
|
JSON JavaScript 前端开发
Go语言中json序列化的一个小坑,建议多留意一下
在Go语言开发中,JSON因其简洁和广泛的兼容性而常用于数据交换,但其在处理数字类型时存在精度问题。本文探讨了JSON序列化的一些局限性,并介绍了两种替代方案:Go特有的gob二进制协议,以及msgpack,两者都能有效解决类型保持和性能优化的问题。
414 7
|
存储 编译器 Go
go语言中的变量、常量、数据类型
【11月更文挑战第3天】
157 9
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
369 4
|
JSON Go 数据格式
Go - json.Unmarshal 遇到的小坑
Go - json.Unmarshal 遇到的小坑
262 9
|
JSON 人工智能 编译器
Go json 能否解码到一个 interface 类型的值
Go json 能否解码到一个 interface 类型的值
134 1
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
|
安全 Go

热门文章

最新文章