当前位置: 首页 > news >正文

产品网站免费模板下载移动手机网站建设

产品网站免费模板下载,移动手机网站建设,网站做视频,网上营销渠道#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力#xff0c;虚度你的光阴#xff0c;每天迈出一小步#xff0c;回头时发现已经走了很远。 #x1f4d7;概念 在 Go 语言中#xff0c;处理 JSON 数据主要依赖于 encoding/json 包。这个包提… Don’t worry , just coding! 内耗与overthinking只会削弱你的精力虚度你的光阴每天迈出一小步回头时发现已经走了很远。 概念 在 Go 语言中处理 JSON 数据主要依赖于 encoding/json 包。这个包提供了编码序列化和解码反序列化JSON 数据的功能。 代码 Example package main//导入了 encoding/json用于处理 JSON 数据、fmt用于格式化输出和 os用于操作系统功能包。 import (encoding/jsonfmtos )// 定义了两个结构体 response1 和 response2。 // response2 使用了结构体标签tags指定了 JSON 字段名这样在序列化时可以控制字段名称 type response1 struct {Page int//首字母必须大写才能导出字段Fruits []string }type response2 struct {Page int json:pageFruits []string json:fruits }func main() {//使用 json.Marshal 将其转换为 JSON 格式的字节切片并转为字符串输出。bolB, _ : json.Marshal(true)fmt.Println(string(bolB)) // 输出: trueintB, _ : json.Marshal(1)fmt.Println(string(intB)) // 输出: 1fltB, _ : json.Marshal(2.34)fmt.Println(string(fltB)) // 输出: 2.34strB, _ : json.Marshal(gopher)fmt.Println(string(strB)) // 输出: gopherslcD : []string{apple, peach, pear}slcB, _ : json.Marshal(slcD)fmt.Println(string(slcB)) // 输出: [apple,peach,pear]mapD : map[string]int{apple: 5, lettuce: 7}mapB, _ : json.Marshal(mapD)fmt.Println(string(mapB)) // 输出: {apple:5,lettuce:7}res1D : response1{Page: 1,Fruits: []string{apple, peach, pear}}res1B, _ : json.Marshal(res1D)fmt.Println(string(res1B)) // 输出: {Page:1,Fruits:[apple,peach,pear]}res2D : response2{Page: 1,Fruits: []string{apple, peach, pear}}res2B, _ : json.Marshal(res2D)fmt.Println(string(res2B)) // 输出: {page:1,fruits:[apple,peach,pear]}byt : []byte({num:6.13,strs:[a,b]})var dat map[string]interface{}if err : json.Unmarshal(byt, dat); err ! nil {panic(err)}fmt.Println(dat) // 输出: map[num:6.13 strs:[a b]]num : dat[num].(float64)//num是float的类型这里需要手动转化fmt.Println(num)strs : dat[strs].([]interface{})str1 : strs[0].(string)fmt.Println(str1)str : {page: 1, fruits: [apple, peach]}res : response2{}//[]byte(str) 将 JSON 字符串 str 转换为字节切片以便 Unmarshal 函数可以处理。//res 是一个指向 res 的指针表示解码后的数据将存储在 res 中。json.Unmarshal([]byte(str), res)fmt.Println(res) // 输出: {1 [apple peach]}fmt.Println(res.Fruits[0]) // 输出: apple//使用 json.NewEncoder 创建一个 JSON 编码器将数据直接编码到标准输出流os.Stdout。enc : json.NewEncoder(os.Stdout)d : map[string]int{apple: 5, lettuce: 7}enc.Encode(d) // 输出: {apple:5,lettuce:7} }//输出 //true //1 //2.34 //gopher //[apple,peach,pear] //{apple:5,lettuce:7} //{Page:1,Fruits:[apple,peach,pear]} //{page:1,fruits:[apple,peach,pear]} //map[num:6.13 strs:[a b]] //6.13 //a //{1 [apple peach]} //apple //{apple:5,lettuce:7}序列化 将 Go 数据结构转换为 JSON 格式的字符串。 package mainimport (encoding/jsonfmt )func main() {// 示例数据data : map[string]interface{}{name: Alice,age: 30,hobbies: []string{reading, traveling},}// 编码为 JSONjsonData, err : json.Marshal(data)if err ! nil {fmt.Println(Error encoding JSON:, err)return}fmt.Println(string(jsonData)) // 输出: {age:30,hobbies:[reading,traveling],name:Alice} }反序列化 将 JSON 格式的字符串转换为 Go 数据结构。 package mainimport (encoding/jsonfmt )func main() {jsonStr : {name: Alice, age: 30, hobbies: [reading, traveling]}var data map[string]interface{}// 解码 JSONerr : json.Unmarshal([]byte(jsonStr), data)if err ! nil {fmt.Println(Error decoding JSON:, err)return}fmt.Println(data) // 输出: map[age:30 hobbies:[reading traveling] name:Alice] }切片序列化 Go 的切片可以直接映射到 JSON 数组。 func main() {fruits : []string{apple, banana, cherry}jsonData, err : json.Marshal(fruits)if err ! nil {fmt.Println(Error encoding JSON:, err)return}fmt.Println(string(jsonData)) // 输出: [apple,banana,cherry] }使用 JSON 标签 通过结构体标签自定义 JSON 字段名。 type Person struct {Name string json:nameAge int json:ageHobbies []string json:hobbies }序列化结构体 package mainimport (encoding/jsonfmt ) //定义结构体 type Person struct {Name string json:nameAge int json:ageHobbies []string json:hobbies }func main() {person : Person{Name: Alice,Age: 30,Hobbies: []string{reading, traveling},}//序列化结构体jsonData, err : json.Marshal(person)if err ! nil {fmt.Println(Error encoding JSON:, err)return}fmt.Println(string(jsonData)) // 输出: {age:30,hobbies:[reading,traveling],name:Alice} } 反序列化结构体 func main() {jsonStr : {name: Alice, age: 30, hobbies: [reading, traveling]}var person Person//[]byte(jsonStr) 将一个字符串jsonStr转换为字节切片。这是因为 json.Unmarshal 需要一个字节切片作为输入参数而不是字符串。err : json.Unmarshal([]byte(jsonStr), person)if err ! nil {fmt.Println(Error decoding JSON:, err)return}fmt.Println(person) // 输出: {Alice 30 [reading traveling]} } 在 Go 中json.Unmarshal 函数用于将 JSON 格式的字节切片解码为 Go 数据结构。这里的 []byte 是一个字节切片类型表示 JSON 数据的原始字节序列。字节切片[]byte 是 Go 中的一个基本数据类型表示一个字节的动态数组。每个字节是一个 8 位的无符号整数通常用于表示原始数据如文本、二进制数据等。JSON 字符串在 JSON 数据的上下文中JSON 字符串通常是以 UTF-8 编码的文本。要将 JSON 字符串转换为 Go 数据结构首先需要将其转换为字节切片。 理解 序列化是把go的数据结构转为json格式用json.Marshal(data)反序列化是把json格式转为go的数据格式用json.Unmarshal Tips小知识点 错误处理 在编码和解码过程中建议检查错误以确保数据的正确性。 if err ! nil {fmt.Println(Error:, err) }JSON 编码到输出流 使用 json.Encoder 将 JSON 数据直接写入到输出流如标准输出。 enc : json.NewEncoder(os.Stdout) data : map[string]int{apple: 5, banana: 2} enc.Encode(data) // 输出: {apple:5,banana:2} 无人扶我青云志我自踏雪至山巅。
http://www.tj-hxxt.cn/news/225992.html

相关文章:

  • 怎么做网站评论河北建设厅查询网站
  • 福州便民网首页网络优化的目的及意义
  • asp.net 大网站网站界面设计缺点
  • 网站做301排名会掉微信公众号的开发
  • 网站做支付宝支付接口建设工程人员锁定网站
  • 网站宣传的手段有哪些?(写出五种以上)wordpress根据id排序
  • 什么网站可以做实验室dedecms 做网站
  • 做网站用什么后台团队管理的七个要点
  • 好看的手机网站推荐外贸网站后台
  • 大创意网站html制作电影网站
  • 毕业设计做旅游网站网站建设预期周期
  • 个人 建设图片分享网站网络服务提供商有哪些
  • 英文网站建设60软件开发和网站建设那个好
  • 在线制作表白网站常德网站建
  • 个人介绍微电影网站模板dw做网站首页怎么做
  • 网站备案的公司注销了网站论坛模板
  • asp网站开发工具神器个人简介ppt免费模板
  • 网站建设专业英文tomcat 建网站
  • 江苏丹阳建设公司网站咸阳哪里做网站
  • 龙采网站建设资源分享平台成都p2p网站建设
  • 0592 网站建设成全视频免费观看在线看古装电视剧
  • 中国核工业第五建设公司网站建设交易网站多少钱
  • 做商城网站怎么做开发一个小程序大概要多少钱
  • 魔方网站导航设计html5手机网页模板
  • 网站建设经费预算表和各大网站做视频的工作总结
  • 河北人工智能建站系统软件营销目标分为三个方面
  • 关键词网站网站禁ping
  • 重庆网站建设近重庆零臻科技哪里有创建网站的
  • 网站建设维护合同范本网站建设工作总结
  • 平面设计手绘网站网络营销推广seo