Golang--Simplejson簡單實例


Github地址:https://github.com/bitly/go-simplejson

比較簡單,直接看代碼

package main

import (
	"fmt"

	simplejson "github.com/bitly/go-simplejson"
)

func main() {
	js, err := simplejson.NewJson([]byte(`{
    "test": {
      "string_array": ["asdf", "ghjk", "zxcv"],
      "array": [1, "2", 3],
      "arraywithsubs": [{"subkeyone": 1},
      {"subkeytwo": 2, "subkeythree": 3}],
      "int": 10,
      "float": 5.150,
      "bignum": 9223372036854775807,
      "string": "simplejson",
      "bool": true
    }
  }`))
	if err != nil {
		panic("json format error")
	}

	//獲取某個字段值
	s, err := js.Get("test").Get("string").String()
	if err != nil {
		panic(err)
	}
	fmt.Println(s)

	//檢查某個字段是否存在
	_, ok := js.Get("test").CheckGet("string2")
	if ok {
		fmt.Println("存在!")
	} else {
		fmt.Println("不存在")
	}

	//數組的操作
	arr, err := js.Get("test").Get("string_array").StringArray()
	if err != nil {
		panic(err)
	}
	for _, v := range arr {
		fmt.Printf("%s\n", v)
	}

	arr2, err := js.Get("test").Get("array").Array()
	if err != nil {
		panic(err)
	}

	for _, v := range arr2 {
		fmt.Printf("%T:%v\n", v, v)
	}

	arr3 := js.Get("test").Get("arraywithsubs").GetIndex(1).MustMap()
	// if err != nil {
	// 	panic(err)
	// }
	fmt.Printf("%v", arr3)

}

輸出:

simplejson
不存在
asdf
ghjk
zxcv
json.Number:1
string:2
json.Number:3
map[subkeytwo:2 subkeythree:3]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM