golang读取一个未知的Json

2018年8月21日 发表评论 阅读评论

json数据有一般常见的格式是以{}开头结尾,还有一种是以[]开头结尾。这里分别针对不同类型的json格式进行处理,具体代码如下:

package main
import (
    "encoding/json"
    "fmt"
    "strings"
)
func UnknownJson(data string) {
    if data != `` {
        r := strings.NewReader(data)
        dec := json.NewDecoder(r)
        switch data[0] {
        case 91:
            // "[" 开头的Json
            param := []interface{}{}
            dec.Decode(&param)
            fmt.Println(param)
        case 123:
            // "{" 开头的Json
            param := make(map[string]interface{})
            dec.Decode(&param)
            fmt.Println(param)
        }
    }
}
func main() {
    UnknownJson(`{"a":1}`)
    UnknownJson(`[{"a":1},{"b":2}]`)
}

上面代码中的91和123分别是[和{符号对应的字符码。




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.