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字符串并转换的更多相关文章

  1. 以ORM的思路来从Excel文件中读取JSON数据列表

    1.一个常见的问题就是如何读取excel. 这里面有几个分支的问题,一个是如何使用poi读取excel,网上例子很多,但是这只解决了第一步.如何将excel读取入一定的数据结构这是第二个问题,还有就是 ...

  2. java从文件中读取json

    wangxiaoer.json里面存放了json数据 需要依赖common-io.jar

  3. 一些常用的文本文件格式(TXT,JSON,CSV)以及如何从这些文件中读取和写入数据

    TXT文件: txt是微软在操作系统上附带的一种文本格式,文件以.txt为后缀. 从txt文件中读取数据: with open ('xxx.txt') as file: data=file.readl ...

  4. json数据处理:读取文件中的json字符串,转为python字典

    方法1: 读取文件中的json字符串, 再用json.loads转为python字典 import json str_file = './960x540/config.json' with open( ...

  5. 从文件中读取字符-多次调用read characters from file multiple calls

    [抄题]: 接口:int read4(char * buf)一次从文件中读取 4 个字符.返回值是实际读取的字符数. 例如,如果文件中只剩下 3 个字符,则返回 3.通过使用read4 接口,实现从文 ...

  6. Python从文件中读取字符串,用正则表达式匹配中文字符的问题

    2013-07-27 21:01:37|           在Windows下,用Python从.txt文件中读取字符串,并用正则表达式匹配中文,在网上看了方法,用的时候发现中文没有被匹配.     ...

  7. Python3实现从文件中读取指定行的方法

    from:http://www.jb51.net/article/66580.htm 这篇文章主要介绍了Python3实现从文件中读取指定行的方法,涉及Python中linecache模块操作文件的使 ...

  8. 条形码的应用三-----------从Excel文件中读取条形码

    条形码的应用三------从Excel文件中读取条形码 介绍 上一篇文章,我向大家展示了生成多个条形码并存储到Excel文件中的一个方法.后来我又有了个想法:既然条码插入到excel中了,我可不可以从 ...

  9. Servlet从本地文件中读取图片,并显示在页面中

    import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpSer ...

随机推荐

  1. Java编程基础阶段笔记 day04 Java基础语法(下)

    day04 Java基础语法 (下) 笔记Notes要点 switch-case语句注意 switch-case题目(switchTest5) 循环执行顺序 if-else 实现3个整数排序 Stri ...

  2. 【iOS】ARC & MRC

    iOS 项目类型,是 ARC 还是 MRC 未完……

  3. WPF 打开网页

    1.利用浏览器打开using System.Diagnostics; Process proc = new System.Diagnostics.Process(); proc.StartInfo.F ...

  4. JAVA课堂-动手动脑1

    一.Enum:一般用来表示一组相同类型的常量.对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用”==”来替换equals,枚举对象里面的值都必须是唯一的. 代码: public  ...

  5. tensorflow学习笔记——使用TensorFlow操作MNIST数据(2)

    tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例 ...

  6. 0x15 字符串

    KMP算法 next数组的求法 void calc_next() { next[]=; , j=; i<=n; ++i) { &&a[i]!=a[j+]) j=next[j]; ...

  7. hadoop学习(四)----windows环境下安装hadoop

    因为我们不能在线上环境进行调试hadoop,这样就只能在本地先调试好了再放到线上去啦.我本地是windows环境,今天先记下windows下搭建hadoop2.7的步骤. 1 本地环境 windows ...

  8. QT动画时间轴控制 QTimeLine

    QTimeLine类提供用于控制动画的时间轴 比如控制进度条的增长,图片,窗口的旋转,平移等等 QTimeLine有一个frameChanged(int)信号 当调用QTimeLine::start( ...

  9. React Native-路由跳转

    搭建完RN开发环境后(搭建方式可查看https://www.cnblogs.com/luoyihao/p/11178377.html),要实现多个页面之间的跳转. 1.这时需要安装react-navi ...

  10. git:将代码提交到远程仓库(码云)

    初始化 进入一个任意的文件夹(如D:\aqin_test1\) git init # 初始化,让git将这个文件夹管理起来 git add . # 收集此文件夹下的所有文件 git config -- ...