func (t Result) Uint() uint64 {
	switch t.Type {
	default:
		return 0
	case True:
		return 1
	case String:
		n, _ := parseUint(t.Str)
		return n
	case Number:
		n, ok := floatToUint(t.Num)
		if !ok {
			n, ok = parseUint(t.Raw)
			if !ok {
				return uint64(t.Num)
			}
		}
		return n
	}
}
Uint returns an unsigned integer representation.
package gjson
import (
	"encoding/base64"
	"encoding/json"
	"errors"
	"reflect"
	"strconv"
	"strings"
	"sync"
	"sync/atomic"
	"time"
	"unicode/utf16"
	"unicode/utf8"
	"unsafe"
	"github.com/tidwall/match"
)
type Type int
const (
	Null Type = iota
	False
	Number
	String
	True
	JSON
)
func (t Type) String() string {
	switch t {
	default:
		return ""
	case Null:
		return "Null"
	case False:
		return "False"
	case Number:
		return "Number"
	case String:
		return "String"
	case True:
		return "True"
	case JSON:
		return "JSON"
	}
}
type Result struct {
	Type Type
	Raw string
	Str string
	Num float64
	Index int
}
func (t Result) String() string {
	switch t.Type {
	default:
		return ""
	case False:
		return "false"
	case Number:
		return strconv.FormatFloat(t.Num, 'f', -1, 64)
	case String:
		return t.Str
	case JSON:
		return t.Raw
	case True:
		return "true"
	}
}
func (t Result) Bool() bool {
	switch t.Type {
	default:
		return false
	case True:
		return true
	case String:
		return t.Str != "" && t.Str != "0"
	case Number:
		return t.Num != 0
	}
}
func (t Result) Int() int64 {
	switch t.Type {
	default:
		return 0
	case True:
		return 1
	case String:
		n, _ := parseInt(t.Str)
		return n
	case Number:
		n, ok := floatToInt(t.Num)
		if !ok {
			n, ok = parseInt(t.Raw)
			if !ok {
				return int64(t.Num)
			}
		}
		return n
	}
}