From 7e295ba1a50b3518d3d3513b8416aa2a2e53dae7 Mon Sep 17 00:00:00 2001 From: Tao Wen Date: Thu, 8 Dec 2016 13:37:21 +0800 Subject: [PATCH] decode []byte using ReadBase64 --- jsoniter_reflect_test.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/jsoniter_reflect_test.go b/jsoniter_reflect_test.go index 73ba480..3348084 100644 --- a/jsoniter_reflect_test.go +++ b/jsoniter_reflect_test.go @@ -4,6 +4,7 @@ import ( "testing" "fmt" "encoding/json" + "unsafe" ) func Test_reflect_str(t *testing.T) { @@ -274,6 +275,18 @@ func Test_reflect_nested(t *testing.T) { } } +func Test_reflect_base64(t *testing.T) { + iter := ParseString(`"YWJj"`) + val := []byte{} + RegisterTypeDecoder("[]uint8", func(ptr unsafe.Pointer, iter *Iterator) { + *((*[]byte)(ptr)) = iter.ReadBase64() + }) + defer ClearDecoders() + iter.Read(&val) + if "abc" != string(val) { + t.Fatal(string(val)) + } +} type StructOfTagOne struct { field1 string `json:"field1"`