| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package main
- import (
- "bytes"
- "encoding/json"
- "fmt"
- "git.wecise.com/wecise/common/lib/bbangert/toml"
- "log"
- )
- func main() {
- log.SetFlags(log.LstdFlags | log.Lshortfile)
- var str = `
- name = "SNMP"
- [TestSnmpInput]
- [TestSnmpInput.oid.A]
- name = "A"
- value = ".1.3.6.1.2.1.1.3.0"
- [TestSnmpInput.oid.B]
- name = "B"
- value = ".1.3.6.1.2.1.1.3.1"
- `
- buf := new(bytes.Buffer)
- buf.WriteString(str)
- type oid struct {
- Name string `toml:"name"`
- Value string `toml:"value"`
- }
- type input struct {
- Oid map[string]oid
- }
- type config struct {
- Name string
- TestSnmpInput *input `toml:"TestSnmpInput"`
- }
- demo := new(config)
- _, err := toml.DecodeReader(buf, &demo)
- if err != nil {
- log.Fatal(err)
- }
- b, err := json.MarshalIndent(demo, "", " ")
- if err != nil {
- log.Fatal(err)
- }
- fmt.Println(string(b))
- }
|