| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package common
- import (
- "bytes"
- "encoding/json"
- "io"
- )
- func Unmarshal(data []byte, v any) error {
- return json.Unmarshal(data, v)
- }
- func UnmarshalJsonStr(data string, v any) error {
- return json.Unmarshal(StringToByteSlice(data), v)
- }
- func DecodeJson(reader io.Reader, v any) error {
- return json.NewDecoder(reader).Decode(v)
- }
- func Marshal(v any) ([]byte, error) {
- return json.Marshal(v)
- }
- func GetJsonType(data json.RawMessage) string {
- data = bytes.TrimSpace(data)
- if len(data) == 0 {
- return "unknown"
- }
- firstChar := bytes.TrimSpace(data)[0]
- switch firstChar {
- case '{':
- return "object"
- case '[':
- return "array"
- case '"':
- return "string"
- case 't', 'f':
- return "boolean"
- case 'n':
- return "null"
- default:
- return "number"
- }
- }
|