1
0
mirror of https://github.com/json-iterator/go.git synced 2025-07-03 23:30:41 +02:00
Commit Graph

50 Commits

Author SHA1 Message Date
6240e1e798 #185 add jsoniter.Valid 2017-10-10 08:57:02 +08:00
0149a5cf4a fix #183 error message not only show expectation, but also the actual value 2017-10-09 08:24:51 +08:00
16f78601b5 fix #184, support null as number 2017-10-07 09:29:32 +08:00
8f50a91be2 fix #181, support string as json.Number and jsoniter.Number 2017-10-06 18:08:14 +08:00
9f6e5962a9 Improve stdlib compatibility
1. Null values for primitive types no longer clear the original value in
the destination object.

2. Dereference multiple levels of pointers in the destination interface{}
type before unmarshaling into it. This is needed to match stdlib
behavior when working with nested interface{} fields. If the destination
object is a pointer to interface{} then the incoming nil value should
nil out the destination object but keep the reference to that nil value
on its parent object. However if the destination object is an
interface{} value it should set the reference to nil but keep the
original object intact.

3. Correctly handle typed nil decode destinations.
2017-09-16 16:57:51 -07:00
c59c42fda0 fix decoding of nil non-empty interface 2017-09-16 16:24:55 -07:00
2017f3866b fix encoding of nil marshaler interface 2017-09-16 16:08:32 -07:00
ddc5af4512 fix encoding of nil non-empty interface 2017-09-16 16:04:36 -07:00
ae57d167e8 Fix custom marshaler for enum types
When MarshalJSON was defined on a pointer receiver custom enum type
marshaling/unmarshaling was panicing since the underlying primitive type
was treated as a pointer.

Since method set for pointer receivers includes value receiver methods
we don't really need optionalEncoder and can just use marshalEncoder
directly.
2017-09-14 23:26:12 -07:00
005d86dc44 fix handling of nil empty interface 2017-09-14 21:32:42 -07:00
18a241d40b Allow null booleans
Make sure we do the same thing as stdlib with null booleans by not
touching the original value and discarding the null.

Another somewhat related change is nulling out null interface values in
the original structure. This also matches stdlib behavior.
2017-09-14 16:47:35 -07:00
90574c5ca3 #166 support ValidateJsonRawMessage in ConfigCompatibleWithStandardLibrary 2017-09-14 23:54:40 +08:00
0828e559d0 #164 support interface{} with ptr 2017-09-09 08:45:57 +08:00
db32ee8c2d #157 number can be null 2017-09-05 13:00:03 +08:00
1cfa233923 #143 make jsoniter.Number same meaning as json.Number, however UseNumber still returns json.Number. 1.9 alias support should be added later 2017-08-05 07:22:53 +08:00
d249b05a85 rename ValueType, to avoid collision with json.Number 2017-08-05 07:10:15 +08:00
c15b4d116c #139 unmarshal non base64 into []byte 2017-07-19 12:04:22 +08:00
3a6ecf051c make receiver names consistent 2017-07-09 15:11:24 +08:00
ed6c434851 gofmt 2017-07-02 11:56:01 +08:00
54ab168362 #99 support uintptr 2017-07-02 11:03:13 +08:00
f2c50ef73b #97 omit empty behavior should follow the original type 2017-07-02 00:41:23 +08:00
fa0965a968 #90 trim spaces when UnmarshalJSON 2017-07-01 00:33:42 +08:00
1253b8edd3 gofmt 2017-06-29 20:40:25 +08:00
545a32f2a1 #76 support TextUnmarshal 2017-06-29 00:14:55 +08:00
faaa59222a #79 fix string tag on string field 2017-06-28 23:37:10 +08:00
cf77980493 #71 fixed []byte alias 2017-06-26 14:25:56 +08:00
486534c67c #67 time as int64 2017-06-20 17:43:47 +08:00
818ae1331a #68 number to string 2017-06-20 15:11:01 +08:00
b3170a8cef rename Encoder => ValEncoder and Decoder => ValDecoder 2017-06-20 07:59:45 +08:00
945fe53724 fix html escape test and omit empty 2017-06-20 07:46:13 +08:00
c6a598e292 # add jsoniter.RawMessage 2017-06-19 23:10:20 +08:00
3d5f6d3a4a #58 string mode support both encoding and decoding 2017-06-17 11:38:09 +08:00
84ad508437 #48 should return error if concrete tpye unknown 2017-06-09 17:06:27 +08:00
cfffa29c8a gofmt 2017-06-06 23:27:00 +08:00
a4e5abf492 support []byte; marshal without copy 2017-06-06 09:44:56 +08:00
fe9fa8900e #31 support json.RawMessage 2017-06-02 10:50:23 +08:00
ad3a7fde32 #30 support json.Number 2017-06-02 10:21:43 +08:00
707ed3b091 support non empty interface 2017-05-27 00:36:21 +08:00
7d2ae80c37 #27 support json.Unmarshaler 2017-05-24 16:04:11 +08:00
f6f159e108 #27 support json.Marshaler 2017-05-24 14:34:00 +08:00
5488fde97f fix one field struct interface{} optimization compatibility 2017-05-23 17:44:50 +08:00
d1aa59e34e #12 implement omitempty 2017-03-08 07:38:25 -08:00
6880076b44 fix map[string]interface{} in struct 2017-02-03 18:44:54 +08:00
9b587c0f22 suport encode interface 2017-01-26 00:25:17 +08:00
f1c4dbde29 support map of interface{} 2017-01-25 22:43:57 +08:00
9df37bbd68 remove any 2017-01-22 19:36:19 +08:00
a57c8c6202 test array of interface 2017-01-09 21:00:01 +08:00
552afb3625 struct encoder 2017-01-09 19:19:48 +08:00
5b0609f901 support int/string encode 2017-01-09 17:47:21 +08:00
101dfdbb2a fix 4 fields object decoding 2017-01-06 20:17:47 +08:00