当前位置: 首页 > news >正文

钓鱼转转网站在线生成软件网站开发设计费 怎么入账

钓鱼转转网站在线生成软件,网站开发设计费 怎么入账,海外教育集团网站建设,做网页网站实际项目中#xff0c;要读取一些json等配置文件。今天就来说一说#xff0c;Golang 是如何读取YAML,JSON,INI等配置文件的。 一. go读取json配置文件 JSON 应该比较熟悉#xff0c;它是一种轻量级的数据交换格式。层次结构简洁清晰 #xff0c;易于阅读和编写#xff0…实际项目中要读取一些json等配置文件。今天就来说一说Golang 是如何读取YAML,JSON,INI等配置文件的。 一. go读取json配置文件 JSON 应该比较熟悉它是一种轻量级的数据交换格式。层次结构简洁清晰 易于阅读和编写同时也易于机器解析和生成。 1.创建 conf.json {enabled: true,path: /usr/local } 2.新建config_json.go package mainimport (encoding/jsonfmtos )type configuration struct {Enabled boolPath string }func main() {// 打开文件file, _ : os.Open(conf.json)// 关闭文件defer file.Close()//NewDecoder创建一个从file读取并解码json对象的*Decoder解码器有自己的缓冲并可能超前读取部分json数据。decoder : json.NewDecoder(file)conf : configuration{}//Decode从输入流读取下一个json编码值并保存在v指向的值里err : decoder.Decode(conf)if err ! nil {fmt.Println(Error:, err)}fmt.Println(path: conf.Path) } 启动运行后输出如下 D:\Go_Path\go\src\configmgrgo run config_json.go path:/usr/local 1.2 复杂json解析 假设test.json内容如下如何解析 {pids:{default:{pid:1844_71935560,desc:app1},shehui:{pid:1844_101751664,desc:app2}}, top_words:[邓紫棋, 沈腾,关晓彤,鹿晗] } 通过json转struct工具转换 Golang: Convert JSON to Struct JSON-to-Go: Convert JSON to Go instantly 转化后的struct type configuration struct {Pids struct {Default struct {Pid string json:pidDesc string json:desc} json:defaultShehui struct {Pid string json:pidDesc string json:desc} json:shehui} json:pidsTopWords []string json:top_words } demo实现 package mainimport (encoding/jsonfmtos )type configuration struct {Pids struct {Default struct {Pid string json:pidDesc string json:desc} json:defaultShehui struct {Pid string json:pidDesc string json:desc} json:shehui} json:pidsTopWords []string json:top_words }func parseJsonConfig(filepath string) (conf configuration) {// 打开文件file, _ : os.Open(filepath)// 关闭文件defer file.Close()conf configuration{}//NewDecoder创建一个从file读取并解码json对象的*Decoder解码器有自己的缓冲并可能超前读取部分json数据。//Decode从输入流读取下一个json编码值并保存在v指向的值里err : json.NewDecoder(file).Decode(conf)if err ! nil {fmt.Println(Error:, err)}return }func main() {pdd : parseJsonConfig(D:\\LearnGo\\FirstGo\\10-文件操作\\test3.json)fmt.Println(pdd)fmt.Println(pdd.Pids.Shehui.Pid)} 再继续来个案例 假设json文件内容如下想读取top_words中name的值要怎么解析获取 {pids:{default:{pid:1844_71935560,desc:app1},shehui:{pid:1844_101751664,desc:app2}},top_words:[{name: cc,age: 18},{name: test,age: 20}] } demo实现 package mainimport (encoding/jsonfmtos )type configuration1 struct {Pids struct {Default struct {Desc string json:descPid string json:pid} json:defaultShehui struct {Desc string json:descPid string json:pid} json:shehui} json:pidsTopWords []struct {Age int64 json:ageName string json:name} json:top_words }func parseJsonConfig1(filepath string) (conf configuration1) {// 打开文件file, _ : os.Open(filepath)// 关闭文件defer file.Close()conf configuration1{}//NewDecoder创建一个从file读取并解码json对象的*Decoder解码器有自己的缓冲并可能超前读取部分json数据。//Decode从输入流读取下一个json编码值并保存在v指向的值里err : json.NewDecoder(file).Decode(conf)if err ! nil {fmt.Println(Error:, err)}return }func main() {pdd : parseJsonConfig1(D:\\LearnGo\\FirstGo\\10-文件操作\\test4.json)fmt.Println(pdd)//遍历string切片获取name的值for _, i : range pdd.TopWords { name : i.Namefmt.Println(name)}} 运行结果 {{{app1 1844_71935560} {app2 1844_101751664}} [{18 cc} {20 test}]} cc test 最后一个工作用到的案例读取json文件中的规则做正则匹配这里没有进行匹配操作后续用到加上 {reverse_shell_rule:[{id:R10000,regex:socat\\sTCP4:\\w\\.\\w\\.\\w\\.\\w:(\\w)\\s.*},{id:R10001,regex:exec\\s\\d\\\\\/\\w\/.*}] } // 读取JSON文件 将内容转为结构对象 然后更改数据package mainimport (encoding/jsonfmtio/ioutil )type ReverseJson struct {ReverseShellRule []struct {ID string json:idRegex string json:regex} json:reverse_shell_rule }func main() {var data ReverseJson// 读取JSON文件内容 返回字节切片bytes, _ : ioutil.ReadFile(D:\\LearnGo\\FirstGo\\10-文件操作\\test.json)// 打印时需要转为字符串fmt.Println(string(bytes))// 将字节切片映射到指定结构上json.Unmarshal(bytes, data)//fmt.Println(*** unmarshal result: ***)// 打印对象结构for _, reg : range data.ReverseShellRule {rule : reg.Regexfmt.Println(rule)}} 二、 go读取.ini配置文件 INI文件格式是某些平台或软件上的配置文件的非正式标准由节(section)和键(key)构成比较常用于微软Windows操作系统中。这种配置文件的文件扩展名为INI。 1.创建 conf.ini [Section] enabled true path /usr/local # another comment 2.下载第三方库go get gopkg.in/gcfg.v13.新建 config_ini.go package mainimport (fmtgcfg gopkg.in/gcfg.v1 )func main() {config : struct {Section struct {Enabled boolPath string}}{}err : gcfg.ReadFileInto(config, conf.ini)if err ! nil {fmt.Println(Failed to parse config file: %s, err)}fmt.Println(config.Section.Enabled)fmt.Println(config.Section.Path) } 启动运行后输出如下 D:\Go_Path\go\src\configmgrgo run config_ini.go true /usr/local 三、go读取yaml配置文件 yaml 可能比较陌生一点但是最近却越来越流行尤其在SpringBoot中的application.yml或者application.yaml中使用非常广泛。也就是一种标记语言。层次结构也特别简洁清晰 易于阅读和编写同时也易于机器解析和生成。 golang的标准库中暂时没有给我们提供操作yaml的标准库但是github上有很多优秀的第三方库开源给我们使用。 创建 conf.yaml enabled: true path: /usr/local 2.下载第三方库go get gopkg.in/yaml.v23.创建 config_yaml.go package mainimport (fmtio/ioutilloggopkg.in/yaml.v2 )type conf struct {Enabled bool yaml:enabled //yamlyaml格式 enabled属性的为enabledPath string yaml:path }func (c *conf) getConf() *conf {yamlFile, err : ioutil.ReadFile(conf.yaml)if err ! nil {log.Printf(yamlFile.Get err #%v , err)}err yaml.Unmarshal(yamlFile, c)if err ! nil {log.Fatalf(Unmarshal: %v, err)}return c }func main() {var c confc.getConf()fmt.Println(path: c.Path) } 启动运行后输出如下 D:\Go_Path\go\src\configmgrgo run config_yaml.go path:/usr/local 最后 以上就把golang 读取配置文件的方法都介绍完了。大家可以拿着代码运行起来看看。 参考资料 Go 语言解析 JSON 文件 - 知乎 Go 语言解析 JSON 文件推荐 如何读取yaml,json,ini等配置文件【Golang 入门系列九】-腾讯云开发者社区-腾讯云
http://www.hkea.cn/news/14570481/

相关文章:

  • wordpress中文建站中国国音电商平台官网
  • 建设公司网站的内容西安网站建设方案
  • 北京自助模板建站houzz室内设计官网
  • 网页设计培训班一般多少人seo优化软件哪个好
  • 建设维护网站运营方案网站只做优化
  • 网站制作 火星科技如何做一个网站推广自己的产品
  • 大公司网站建设建网站企业网站实名制
  • 凤冈建设局网站广州建站网络推广公司
  • 昆山网站建设义搏网络优化工作内容
  • 河南省建设网站wordpress主题包下载
  • 建网站一般多少钱什么广告推广最有效果
  • 潇朋友免费班级网站建设系统做网站费用计入什么
  • 网站建设行业新闻做网站都要买服务器吗
  • 怎么查一个网站的外链和反链软件网络工程技术就业前景
  • 局域网视频网站建设微信公众号怎么创建第二个
  • 做网站的客户校园网络建设方案设计
  • 网站建设进度表模板wap网页设计
  • asp网站建设 win7易语言可以做网站吗
  • wordpress 文件存储seo搜索引擎优化人员
  • 哈尔滨市住房和城乡建设局局网站qingdao城乡住房建设厅网站
  • 三桥做网站2017年网站外链怎么做
  • 优秀网站建设设计做外贸选取哪个网站
  • 网站架构图wrix 网站开发
  • 做pc端网站流程镇江网站建设 找思创
  • 网站建设论文linux精通网站建设工资多少
  • 东莞市网络seo推广服务机构陕西seo经理
  • 做网站被骗怎么办wordpress demo怎么下载
  • 做网站的投入赣州网站建设策划
  • 现在都不用dw做网站了吗沈阳做网站的公司推荐
  • 苏州住建网站妇产科医生免费咨询