📂Golang
🔖Golang
2017-10-25 22:38阅读: 2814评论: 0推荐: 0

golang解析json配置文件

安装

go get github.com/akkuman/parseConfig

使用说明

环境假设

.
├── config.go
├── config.json

config.json内容

{
    "name" : "akkuman",
    "urls" : ["xx.com","ww.com"],
    "info" : {
        "qq" : "123456",
        "weixin": "123456"
    }
}

该库取出来的都是类型为interface{}的数据,如需取出具体类型的数据需要自己加断言

当取嵌套map数据的时候,以“ > ”指定下一级,注意>两边均有空格,具体见下面的例子

例子

config.go内容

package main

import (
    "github.com/akkuman/parseConfig"
)

func main() {
    var config = parseConfig.New("config.json")
    // 此为interface{}格式数据
    var name = config.Get("name")
    // 断言
    var nameString = name.(string)
    
    // 取数组
    var urls = config.Get("urls").([]interface{})
    var urlsString []string
    for _,v := range urls {
        urlsString = append(urlsString, v.(string))
    }
    
    // 取嵌套map内数据
    var qq = config.Get("info > qq").("string")
    var weixin = config.Get("info > weixin").("string")
}

本文作者:Akkuman

本文链接:https://www.cnblogs.com/Akkuman/p/7732879.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Akkuman  阅读(2814)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.