mirror of
https://gitee.com/johng/gf
synced 2026-07-08 22:40:30 +08:00
improve gjson/gparser/gcfg/gvar
This commit is contained in:
@ -43,6 +43,10 @@ func (j *Json) Get(pattern string, def ...interface{}) interface{} {
|
||||
j.mu.RLock()
|
||||
defer j.mu.RUnlock()
|
||||
|
||||
if pattern == "." {
|
||||
pattern = ""
|
||||
}
|
||||
|
||||
var result *interface{}
|
||||
if j.vc {
|
||||
result = j.getPointerByPattern(pattern)
|
||||
|
||||
@ -1,63 +0,0 @@
|
||||
// Copyright 2017 gf Author(https://github.com/gogf/gf). All Rights Reserved.
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the MIT License.
|
||||
// If a copy of the MIT was not distributed with this file,
|
||||
// You can obtain one at https://github.com/gogf/gf.
|
||||
|
||||
package gjson
|
||||
|
||||
//func MarshalOrdered(value interface{}) ([]byte, error) {
|
||||
// buffer := bytes.NewBuffer(nil)
|
||||
// rv := reflect.ValueOf(value)
|
||||
// kind := rv.Kind()
|
||||
// if kind == reflect.Ptr {
|
||||
// rv = rv.Elem()
|
||||
// kind = rv.Kind()
|
||||
// }
|
||||
// switch kind {
|
||||
// case reflect.Slice: fallthrough
|
||||
// case reflect.Array:
|
||||
// buffer.WriteByte('[')
|
||||
// length := rv.Len()
|
||||
// for i := 0; i < length; i++ {
|
||||
// if p, err := MarshalOrdered(rv.Index(i).Interface()); err != nil {
|
||||
// return nil, err
|
||||
// } else {
|
||||
// buffer.Write(p)
|
||||
// if i < length - 1 {
|
||||
// buffer.WriteByte(',')
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// buffer.WriteByte(']')
|
||||
// case reflect.Map: fallthrough
|
||||
// case reflect.Struct:
|
||||
// m := gconv.Map(value, "json")
|
||||
// keys := make([]string, len(m))
|
||||
// index := 0
|
||||
// for key := range m {
|
||||
// keys[index] = key
|
||||
// index++
|
||||
// }
|
||||
// sort.Strings(keys)
|
||||
// buffer.WriteByte('{')
|
||||
// for i, key := range keys {
|
||||
// if p, err := MarshalOrdered(m[key]); err != nil {
|
||||
// return nil, err
|
||||
// } else {
|
||||
// buffer.WriteString(fmt.Sprintf(`"%s":%s`, key, string(p)))
|
||||
// if i < index - 1 {
|
||||
// buffer.WriteByte(',')
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// buffer.WriteByte('}')
|
||||
// default:
|
||||
// if p, err := json.Marshal(value); err != nil {
|
||||
// return nil, err
|
||||
// } else {
|
||||
// buffer.Write(p)
|
||||
// }
|
||||
// }
|
||||
// return buffer.Bytes(), nil
|
||||
//}
|
||||
Reference in New Issue
Block a user