GO语言的JSON03---JSON文件的序列化与反序列化
package main import (
"encoding/json"
"fmt"
"os"
) type Human2 struct {
Name string
Age int
Rmb float64
Gender bool
Hobbies []string
} func NewHuman2(name string, age int,rmb float64,hobbies []string) *Human2 {
human := new(Human2)
human.Name = name
human.Age = age
human.Rmb = rmb
human.Hobbies = hobbies
return human
} /*编码结构体,map,切片到JSON文件*/
func main061() {
dstFile, _ := os.OpenFile(`编码文件`, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0666)
defer dstFile.Close() encoder := json.NewEncoder(dstFile) zqd := NewHuman2("张全蛋", 20,0.5,[]string{"抽烟", "喝酒","烫头"})
zld := NewHuman2("张lia蛋", 30,0.5,[]string{"抽烟", "喝酒","烫头"}) //dataMap := make(map[string]interface{})
//dataMap["title"] = "东契奇字母哥创历史当选月最佳"
//dataMap["date"] = "2019-12-04"
//dataMap["author"] = "至尊狗仔"
//dataMap["readers"] = 99999999 humans := make([]Human2, 0)
humans = append(humans, *zqd, *zld) err := encoder.Encode(humans)
if err != nil{
fmt.Println("编码human到json文件失败,err=",err)
return
}
fmt.Println("编码human到json文件成功")
} /*解码json文件为GO数据*/
func main() {
//打开要编码的文件
srcFile, _ := os.Open(`编码文件`)
defer srcFile.Close() //创建于JSON结构想匹配的GO语言数据
//retSlice := make([]Human2,0)
retSlice := make([]map[string]interface{}, 0) //创建JSON文件的解码器
decoder := json.NewDecoder(srcFile) //解码文件数据到GO数据的地址中
err := decoder.Decode(&retSlice)
//检查错误
if err != nil{
fmt.Println("解码json文件失败,err=", err)
return
}
//打印结果
fmt.Println("解码成功",retSlice)
}
GO语言的JSON03---JSON文件的序列化与反序列化的更多相关文章
- python学习day4之路文件的序列化和反序列化
json和pickle序列化和反序列化 json是用来实现不同程序之间的文件交互,由于不同程序之间需要进行文件信息交互,由于用python写的代码可能要与其他语言写的代码进行数据传输,json支持所有 ...
- 【Python】python学习文件的序列化和反序列化
json和pickle序列化和反序列化 json是用来实现不同程序之间的文件交互,由于不同程序之间需要进行文件信息交互,由于用python写的代码可能要与其他语言写的代码进行数据传输,json支持所有 ...
- 利用JavaScriptSerializer类 进行Json对象的序列化和反序列化和过滤
项目下载:JavaScriptSerializer_对JSON对象序列化与反序列化及过滤器 利用<JavascriptSerializer类> 进行Json对象的序列化和反序列化 1. 首 ...
- 【转】在C#中使用Json.Net进行序列化和反序列化及定制化
作者:Minotauros 原文地址:在C#中使用Json.Net进行序列化和反序列化及定制化 序列化(Serialize)是将对象转换成字节流,并将其用于存储或传输的过程,主要用途是保存对象的状态, ...
- .net MVC 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值
在.net mvc的controller中,方法返回JsonResult,一般我们这么写: [HttpPost] public JsonResult QueryFeature(string url, ...
- 使用JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength属性
"/"应用程序中的服务器错误.使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值. ...
- 对 JSON 数据进行序列化和反序列化
如何:对 JSON 数据进行序列化和反序列化 2017/03/30 作者 JSON(JavaScript 对象符号)是一种高效的数据编码格式,可用于在客户端浏览器和支持 AJAX 的 Web 服务之间 ...
- 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错
如题 报错提示: 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值.","Sta ...
- ng json格式的序列化和反序列化
ng中自带方法 angular.toJson 序列化angular.fromJson 反序列化 结果: 代码: <!DOCTYPE html> <html ng-app=" ...
- MVC JSON JavaScriptSerializer 进行序列化或反序列化时出错
MVC control中返回json格式数据一般都是如下格式 [HttpPost] public ActionResult CaseAudit(string name) { var data =&qu ...
随机推荐
- 各种平衡树收集(收集控(‐^▽^‐))\平衡树模板题的各种花式做法QAQ
非旋转treap!!!(FHQ Treap) 递归版Splay(无需维护父指针) Scapegoat _ Tree--替罪羊树(一只(棵)特立独行的猪(树)) 宗法树(平衡线段树\finger_tre ...
- 一文读懂eBPF/XDP
XDP概述 XDP是Linux网络路径上内核集成的数据包处理器,具有安全.可编程.高性能的特点.当网卡驱动程序收到数据包时,该处理器执行BPF程序.XDP可以在数据包进入协议栈之前就进行处理,因此具有 ...
- JMeter日志查看
- animation几个比较好玩的属性(alternate,及animation-fill-mode)
<!DOCTYPE html> <html> <head> <style> div { width:100px; height:100px; backg ...
- IDAPython类库---idaapi.py的源码
#ThisfilewasautomaticallygeneratedbySWIG(http://www.swig.org).#Version2.0.12##Donotmakechangestothis ...
- hdu4990 矩阵快速幂
题意: 给你一短代码,让你优化这个代码,代码如下 #pragma comment(linker, "/STACK:1024000000,1024000000") #in ...
- UVA11549计算器谜题
题意: 有一个计算机只能保留数字的前n位,你有一个数字k(k<=9),反复平方后在计算机上显示的最大数字是多少. 思路: 显然这个题目是有循环节的,为什么有循环节?首先 ...
- 不安全的HTTP方法
我们常见的HTTP请求方法是GET.POST和HEAD.但是,其实除了这两个之外,HTTP还有一些其他的请求方法. WebDAV (Web-based Distributed Authoring an ...
- 渗透测试神器Cobalt Strike的使用
目录 Cobalt Strike Cobalt Strike的安装 Cobalt Strike的使用 创建监听器:
- 逆向与分析-WebBrowserPassView消息分析
逆向与分析-WebBrowserPassView消息分析 这个的源头是之前我写的一个博客: http://blog.csdn.net/u013761036/article/details/730427 ...