62_json文件解析成结构体格式

package main

import (   "encoding/json"   "fmt")

type People struct {   //由于结构体生成json文本成员变量必须大写,可以使用struct_tag来二次编码,此时可以使用小写   Name    string `json:"name"`   Subject []string   Isok    bool    `json:", string"` //转换成字符串类型输出   Price   float64 `json:"-"`        //不打印}type People1 struct {   //由于结构体生成json文本成员变量必须大写,可以使用struct_tag来二次编码,此时可以使用小写   Name string `json:"name"`}

func main() {   //json文本   JsonBuff := `   {    "Name":"steven",    "Subject":[        "C++",        "Go",        "Python"    ],    "Isok":true,    "Price":66.66}

   `   var p1 People   err := json.Unmarshal([]byte(JsonBuff), &p1) //这里p1一定是去地址   if err != nil {      fmt.Println("err=", err)      return   }   fmt.Println(p1) //{steven [C++ Go Python] true 0}   fmt.Printf("%+v\n", p1)   //{Name:steven Subject:[C++ Go Python] Isok:true Price:0}

   //如果只想打印json中某个字段,可以结构体就定义哪一个   var p2 People1   err2 := json.Unmarshal([]byte(JsonBuff), &p2)   if err2 != nil {      fmt.Println("err2=", err2)      return   }   fmt.Println(p2)         //   fmt.Printf("%+v\n", p2) //{Name:steven}

}

原文地址:https://www.cnblogs.com/zhaopp/p/11626081.html

时间: 2024-11-11 11:26:15

62_json文件解析成结构体格式的相关文章

go语音之进阶篇json解析到结构体

1.json解析到结构体 示例: package main import ( "encoding/json" "fmt" ) type IT struct { Company string `json:"company"` Subjects []string `json:"subjects"` //二次编码 IsOk bool `json:"isok"` Price float64 `json:"

Delphi - Windows系统下,Delphi调用API函数和7z.dll动态库,自动把文件压缩成.tar.gz格式的文件

项目背景 应欧美客户需求,需要将文件压缩成.tar.gz格式的文件,并上传给客户端SFTP服务器. 你懂的,7-Zip软件的显著特点是文件越大压缩比越高,在Linux系统上相当于我们Windows系统上WinRAR或者好压软件一样的存在. 7-Zip软件下载与安装 网上下载相关安装包并完成安装,找到安装目录,复制7z.dll文件到D盘. .bat文件的制作 通过7-Zip软件使用手册了解到,通过动态命令行调用7z.dll可以把文件压缩成.tar.gz格式的,实际上是先将文件压缩成.tar格式的文

mavon-editor 存储md文件以及md文件解析成html文件

一.md文件的存储 因为是vue-cli项目,所以使用的是mavonEditor. github地址:https://github.com/hinesboy/mavonEditor 使用方法: 首先安装: npm install mavon-editor --save 然后在相应的组件里引用: //引入import {mavonEditor} from 'mavon-editor' import 'mavon-editor/dist/css/index.css' //标签使用,注意这里是mavo

数组强制转换成结构体指针,结构体内部指针的指向问题

如果直接操作结构体成员是不会取到不期望的值 但是对于要求连续数据格式的时候需要考虑对齐的问题 例如通讯中的数据帧格式等 ,如 ip数据包等#pragma   pack(1) struct   tagStruct {     ... } t; #pragma   pack() 的方式来强制连续存放 其中前面   pack(1)   是指对齐边界为   1 1.几个结构体例子: struct{short a1;short a2;short a3;}A; struct{long a1;short a2

c# XML解析成EasyUI TreeGrid格式

1.分析EasyUI TreeGrid的数据格式,demo的格式是这样的:http://www.jeasyui.net/demo/treegrid_data1.json 分析之后,得到基本的JSON格式: [ { "id": 1, "name": "name1", "value": "", "children": [ { "id": 2, "name&quo

c语言_文件操作_FILE结构体小解释

参考文档来自:https://www.cnblogs.com/haore147/p/3648395.html 我们通过fopen返回一个文件指针(指向FILE结构体的指针)来进行文件操作. 在vs2013下的代码如下: #include <stdio.h> #pragma warning(disable:4996) int main() { FILE *p = fopen("C:\\test\\win\\a.txt", "r"); char buf[10

文件包含与结构体

1.文件包含 (1)1个include命令只能指定一个被包含文件,若有多个文件要包含,则需用多个include命令. (2)文件包含允许嵌套,即在一个被包含的文件种包含另一个文件. (3)包含命令中的文件名可以用双括号括起来,也可以用尖括号括起来.但这两种形式是有区别的:使用尖括号表示在包含文件目录中去查找:使用双引号表示首先在当前的源文件目录中去查找,若未找到则到包含目录中去查找. 条件编译 预处理程序提供了条件编译的功能.可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件,这对

音频文件解析(一):WAV格式文件头部解析

WAV为微软公司(Microsoft)开发的一种声音文件格式,它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资源. 1.RIFF块(RIFF-Chunk) 偏移地址 字节数 数据类型 内容 &H00 4 String 'RIFF'文件标志 &H04 4 UInteger 文件总长 &H08  4  String  'WAVE'文件标志 2.格式化块(Format-Chunk) 偏移地址 字节数 数据类

音频文件解析(二):WAV格式文件波形绘制

解析WAV头部信息后,接下来就可以根据相关参数和DATA块数据绘制波形. 1.重新编码(转换为8bits,单声道数据) Public Function GetFormatData(ByVal pData() As Byte, ByVal pWaveHeader As waveHeaderStructre) As Byte() Dim temp As Integer Dim data() As Byte = {} If pWaveHeader.BitsPerSample = 8 And pWave