zoukankan      html  css  js  c++  java
  • 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
    ", v)
    	}
    
    	arr2, err := js.Get("test").Get("array").Array()
    	if err != nil {
    		panic(err)
    	}
    
    	for _, v := range arr2 {
    		fmt.Printf("%T:%v
    ", 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]
    
  • 相关阅读:
    微服务
    flume
    mongodb
    Java 代理学习笔记
    HttpClient连接池
    一起写RPC
    spring boot cloud
    .NET MVC 表主外键关系 JSON 无限循环 方案二(推荐)
    EF提示“序列化类型为XXX的对象时检测到循环引用”
    Handlebars.js registerHelper
  • 原文地址:https://www.cnblogs.com/bvac/p/6293667.html
Copyright © 2011-2022 走看看