Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'util/json_util/json.go')
-rw-r--r--util/json_util/json.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/util/json_util/json.go b/util/json_util/json.go
new file mode 100644
index 00000000..65ad789e
--- /dev/null
+++ b/util/json_util/json.go
@@ -0,0 +1,24 @@
+package json_util
+
+import (
+ "errors"
+)
+
+type RawMessage []byte
+
+// MarshalJSON 自定义 json.RawMessage 默认行为
+func (m RawMessage) MarshalJSON() ([]byte, error) {
+ if len(m) == 0 {
+ return []byte("null"), nil
+ }
+ return m, nil
+}
+
+// UnmarshalJSON sets *m to a copy of data.
+func (m *RawMessage) UnmarshalJSON(data []byte) error {
+ if m == nil {
+ return errors.New("json.RawMessage: UnmarshalJSON on nil pointer")
+ }
+ *m = append((*m)[0:0], data...)
+ return nil
+}