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 ...
随机推荐
- 程序员的开源月刊《HelloGitHub》第61期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 内容包括:有趣.入门级的开源项目.开源书籍.实战项目.企业级项目等,让你在短时间内感 ...
- map的遍历方法 map.entrySet()
代码: @Test public void TestMap() throws Exception { Map<String, String> map = new HashMap<&g ...
- 解决mysql You can't specify target table for update in FROM clause错误
mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表( ...
- 08- Tomcat入门与环境搭建部署
环境搭建:网站文件(开发人员提供),相关软件(web服务器,应用服务器,数据库软件),硬件(服务器设备上),网络环境. 开发人员提供:部署文档说明书(操作系统版本,硬件配置,服务器软件及相关版本,部署 ...
- POJ 2752 同一个串的前后串
题解东北赛回来再补 #include<stdio.h> #include<string.h> int next[500000]; int ans[500000]; char s ...
- Nessus扫描器的使用
目录 Nessus Scans Settings 一个基本扫描的建立 自定义扫描策略 Nessus的高级扫描方法 Nessus Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组 ...
- Python脚本破解压缩文件口令(zipfile)
环境:Windows python版本2.7.15 Python中操作zip压缩文件的模块是 zipfile . 相关文章:Python中zipfile压缩文件模块的使用 我们破解压缩文件的口令也是用 ...
- 哈希爆破神器Hashcat的用法
目录 HashCat HshCat的使用 使用Hashcat生成字典 使用Hashcat破解NTLMv2 HashCat HashCat系列软件在硬件上支持使用CPU.NVIDIA GPU.ATI G ...
- 【技巧】使用xshell和xftp连接centos连接配置
说明:xshell用来执行指令,xftp用来上传和下载文件. ① 这是xshell连接属性: ②.这是xftp连接属性 附件:这里给个xshelll和xftp的免安装的破解版本地址.侵删. 度娘链接: ...
- Error querying database. Cause: java.lang.IllegalArgumentException:Failed to decrypt.(错误笔记)
java.lang.IllegalArgumentException:Failed to decrypt 从错误可以看出,解密失败. 原因是你在数据库连接配置的地方,设置了加密.即: config.d ...