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. 戴尔PowerEdge T110 Ⅱ服务器U盘安装Windows Server 2019 DataCenter

    一. 下载准备 准备工作——下载Microsoft Windows Server 2019 官方简体中文激活版 (MSDN)原版iso镜像 准备工作——安装刻录软件UltraISO,单文件绿色版就够用 ...

  2. oracle实战(一)

    一.表空间的创建以及删除 声明:此操作环境为windows,oracle10G 表空间? ORACLE数据库的逻辑单元. 数据库---表空间 一个表空间可以与多个数据文件(物理结构)关联 一个数据库下 ...

  3. mule优缺点和MEL

    优点1.开源 https://github.com/mulesoft/mule2.丰富的connector ,可以通过不同的形式来连接各个系统JMS.Web Service.JDBC.HTTP等3.c ...

  4. ipad pro 为什么不行

    TalkingData公布的数据显示,iPad Pro在中国发行首月的销量仅为49 300台,而此前iPad Air 2发行首月后销量曾高达55.7万台.那么到底是什么原因,让这个被寄予厚望的iPad ...

  5. Ubuntu 磁盘挂载错误

    一.错误 报错原因: 在删除或者复制移动时,磁盘或者u盘等外接硬件设备,忽然掉落(断掉,接口松动),在次挂载磁盘时就会出现错误 错误日志: $MFTMirr does not match $MFT ( ...

  6. linux安装启动mongodb

    1:下载 http://www.mongodb.org/downloads 在85机器上上传压缩包后解压缩. 首先在linux中解压缩安装程序 通过命令操作: 解压 tar -zxvf mongodb ...

  7. JSP前端数据本地排序

    在前端中我们经常需要数据的排序,首先写引入我写好的js $(function($) { $('#sclazzId').val($('#voId').val()); document.getElemen ...

  8. 逛公园[NOIP2017 D2 T3](dp+spfa)

    题目描述 策策同学特别喜欢逛公园. 公园可以看成一张 \(N\)个点\(M\) 条边构成的有向图,且没有自环和重边.其中 1号点是公园的入口,N号点是公园的出口,每条边有一个非负权值,代表策策经过这条 ...

  9. python接口测试入门1-什么是接口测试

    为什么要做接口测试 在日常开发过程中,有人做前端开发,有人负责后端开发.接口就是连接前后台,由于前端开发和后端开发的速度可能不一样,例如后端开发好了,但是前端没有开发.那么我们是不是就不需要测试呢?一 ...

  10. spark sql/hive小文件问题

    针对hive on mapreduce 1:我们可以通过一些配置项来使Hive在执行结束后对结果文件进行合并: 参数详细内容可参考官网:https://cwiki.apache.org/conflue ...