()
| 95 | } |
| 96 | |
| 97 | func (db DlBody) MarshalJSON() ([]byte, error) { |
| 98 | b, err := db.RawMessage.MarshalJSON() |
| 99 | if err != nil { |
| 100 | return nil, err |
| 101 | } |
| 102 | debug.Assert(b[0] == '{' && b[len(b)-1] == '}') |
| 103 | s := fmt.Sprintf(`{"type": %q, %s}`, db.Type, string(b[1:len(b)-1])) |
| 104 | return []byte(s), nil |
| 105 | } |
| 106 | |
| 107 | func (db *DlBody) UnmarshalJSON(b []byte) error { |
| 108 | db.Type = DlType(jsoniter.Get(b, "type").ToString()) |