| 307 | } |
| 308 | |
| 309 | func (enc *Encoder) WriteStringObject(key string, value []byte, options ...interface{}) error { |
| 310 | err := enc.beforeWriteObject(options...) |
| 311 | if err != nil { |
| 312 | return err |
| 313 | } |
| 314 | err = enc.write([]byte{typeString}) |
| 315 | if err != nil { |
| 316 | return err |
| 317 | } |
| 318 | err = enc.writeString(key) |
| 319 | if err != nil { |
| 320 | return err |
| 321 | } |
| 322 | err = enc.writeString(unsafeBytes2Str(value)) |
| 323 | if err != nil { |
| 324 | return err |
| 325 | } |
| 326 | enc.state = writtenObjectState |
| 327 | return nil |
| 328 | } |
| 329 | |
| 330 | func (enc *Encoder) writeFloat64(f float64) error { |
| 331 | bin := math.Float64bits(f) |