go从文件中读取json字符串并转换
go从文件中读取json字符串并转换
将要读取的文件的一部分
[
{
"children": [
{
"children": [
{
"code": 110118,
"name": "密云区"
},
{
"code": 110119,
"name": "延庆区"
}
],
"code": 110000,
"name": "北京市"
}
],
"code": "110000",
"name": "北京市(京)"
},
{
"children": [
{
"children": [
{
"code": 120118,
"name": "静海区"
},
{
"code": 120119,
"name": "蓟州区"
}
],
"code": 120000,
"name": "天津市"
}
],
"code": "120000",
"name": "天津市(津)"
},
{
"children": [
{
"code": 820000,
"name": "澳门特别行政区(澳)"
}
],
"code": "820000",
"name": "澳门特别行政区(澳)"
},
{
"code": "710000",
"name": "台湾省(台)"
}
]
package main
import (
"bufio"
"fmt"
"io"
"os"
"encoding/json"
)
type County struct{
Code int
Name string
}
type City struct {
Children []County
Code int
Name string
}
type Province struct{
Children []City
Code string
Name string
}
func main() {
//打开文件
inputFile, inputError := os.Open("xzqh.json")
if inputError != nil {
return
}
defer inputFile.Close()
//按行读取文件
var s string
inputReader := bufio.NewReader(inputFile)
for {
inputString, readerError := inputReader.ReadString('\n')
if readerError == io.EOF {
break
}
s = s + inputString
}
fmt.Printf("all: \n%s", s)
//json字符串转化为结构体
fmt.Println("-------------------------------------------------")
var province []Province
if err := json.Unmarshal([]byte(s), &province); err == nil {
fmt.Println(province)
for i:=0;i<len(province);i++ {
fmt.Println(province[i].Name);
}
}else{
fmt.Println("转换失败")
}
}
走过的坑:
1.接受json的字符串的结构体成员变量需要大写,否则无法解析
go从文件中读取json字符串并转换的更多相关文章
- 以ORM的思路来从Excel文件中读取JSON数据列表
1.一个常见的问题就是如何读取excel. 这里面有几个分支的问题,一个是如何使用poi读取excel,网上例子很多,但是这只解决了第一步.如何将excel读取入一定的数据结构这是第二个问题,还有就是 ...
- java从文件中读取json
wangxiaoer.json里面存放了json数据 需要依赖common-io.jar
- 一些常用的文本文件格式(TXT,JSON,CSV)以及如何从这些文件中读取和写入数据
TXT文件: txt是微软在操作系统上附带的一种文本格式,文件以.txt为后缀. 从txt文件中读取数据: with open ('xxx.txt') as file: data=file.readl ...
- json数据处理:读取文件中的json字符串,转为python字典
方法1: 读取文件中的json字符串, 再用json.loads转为python字典 import json str_file = './960x540/config.json' with open( ...
- 从文件中读取字符-多次调用read characters from file multiple calls
[抄题]: 接口:int read4(char * buf)一次从文件中读取 4 个字符.返回值是实际读取的字符数. 例如,如果文件中只剩下 3 个字符,则返回 3.通过使用read4 接口,实现从文 ...
- Python从文件中读取字符串,用正则表达式匹配中文字符的问题
2013-07-27 21:01:37| 在Windows下,用Python从.txt文件中读取字符串,并用正则表达式匹配中文,在网上看了方法,用的时候发现中文没有被匹配. ...
- Python3实现从文件中读取指定行的方法
from:http://www.jb51.net/article/66580.htm 这篇文章主要介绍了Python3实现从文件中读取指定行的方法,涉及Python中linecache模块操作文件的使 ...
- 条形码的应用三-----------从Excel文件中读取条形码
条形码的应用三------从Excel文件中读取条形码 介绍 上一篇文章,我向大家展示了生成多个条形码并存储到Excel文件中的一个方法.后来我又有了个想法:既然条码插入到excel中了,我可不可以从 ...
- Servlet从本地文件中读取图片,并显示在页面中
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpSer ...
随机推荐
- Java编程基础阶段笔记 day04 Java基础语法(下)
day04 Java基础语法 (下) 笔记Notes要点 switch-case语句注意 switch-case题目(switchTest5) 循环执行顺序 if-else 实现3个整数排序 Stri ...
- 【iOS】ARC & MRC
iOS 项目类型,是 ARC 还是 MRC 未完……
- WPF 打开网页
1.利用浏览器打开using System.Diagnostics; Process proc = new System.Diagnostics.Process(); proc.StartInfo.F ...
- JAVA课堂-动手动脑1
一.Enum:一般用来表示一组相同类型的常量.对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用”==”来替换equals,枚举对象里面的值都必须是唯一的. 代码: public ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(2)
tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例 ...
- 0x15 字符串
KMP算法 next数组的求法 void calc_next() { next[]=; , j=; i<=n; ++i) { &&a[i]!=a[j+]) j=next[j]; ...
- hadoop学习(四)----windows环境下安装hadoop
因为我们不能在线上环境进行调试hadoop,这样就只能在本地先调试好了再放到线上去啦.我本地是windows环境,今天先记下windows下搭建hadoop2.7的步骤. 1 本地环境 windows ...
- QT动画时间轴控制 QTimeLine
QTimeLine类提供用于控制动画的时间轴 比如控制进度条的增长,图片,窗口的旋转,平移等等 QTimeLine有一个frameChanged(int)信号 当调用QTimeLine::start( ...
- React Native-路由跳转
搭建完RN开发环境后(搭建方式可查看https://www.cnblogs.com/luoyihao/p/11178377.html),要实现多个页面之间的跳转. 1.这时需要安装react-navi ...
- git:将代码提交到远程仓库(码云)
初始化 进入一个任意的文件夹(如D:\aqin_test1\) git init # 初始化,让git将这个文件夹管理起来 git add . # 收集此文件夹下的所有文件 git config -- ...