master
Commits on Sep 11, 2021
-
Tao Wen committed
Sep 11, 2021
Commits on Sep 10, 2021
Commits on Jul 22, 2021
-
Merge pull request #562 from runzhi/master
fix: invalid unicode while binary to string
Commits on Jul 19, 2021
-
fix: invalid unicode while binary to string
origuo committedJul 19, 2021
Commits on Nov 18, 2020
-
Merge pull request #513 from AllenX2018/fix-issue-510
fix issue 510
Commits on Nov 17, 2020
Commits on Nov 14, 2020
Commits on Nov 13, 2020
Commits on Aug 6, 2020
-
jsoniter: Fix errors during reading integers from chunked io.Reader (#…
…477) This commit fixes bug in Iterator.assertInteger method if the next conditions are met: - Iterator reads data from `io.Reader`, - expected value is `0` (zero) - `Iterator.tail == Iterator.head + 1` - `Iterator.tail < len(Iterator.buf)` - value in the buffer after `Iterator.tail` is presented from the previous read and has '.' character. Typical error which user cal see is: - assertInteger: can not decode float as int, error found in #X byte of ... Regression test added for checking the correct behaviour. Fixes #476
Commits on Aug 3, 2020
Commits on Jul 21, 2020
Commits on Jun 8, 2020
Commits on May 31, 2020
-
remove quotation check for key when decoding map
we don't need to check if the key is surrounded by quotation. In fact, the key might not be strings if we register an extension to customize the map key encoder/decoder.It may be an integer, float, or even a struct.
Commits on May 8, 2020
-
disable map_key_test temporarily
- disable this test until golang issue 38105&38940 is fixed
-
Map keys of custom types should serialize using MarshalText when avai…
…lable (#461) * Map keys of custom types should serialize/deserialize using MarshalText/UnmarshalText when available - this brings marshaling/unmarshaling behavior in line with encoding/json - in general, any types that implement the interfaces from the encoding package (TextUnmarshaler, TextMarshaler, etc.) should use the provided method when available
Commits on Apr 29, 2020
-
Merge pull request #441 from robfig/flush2
(*Stream).WriteMore: do not Flush
Commits on Mar 30, 2020
Commits on Mar 26, 2020
-
Merge pull request #450 from fantastao/fix_any_str_panic
fix any str ToInt64 ToUint64 panic
-
fix any str ToInt64 ToUint64 panic
Change-Id: Ic1690713d96940258811cdc149b1604128aa91a2
陶磊 committedMar 26, 2020 -
Commits on Feb 6, 2020
Commits on Feb 5, 2020
Commits on Jan 18, 2020
-
(*Stream).WriteMore: remove implicit Flush
I believe that WriteMore should not call Flush for these reasons: 1. This is surprising for users because of inconsistency. Why call Flush in WriteMore and not in WriteObjectEnd? 2. It is not necessary; callers are free to call Flush if their use case demands it. 3. It harms performance in the common case by flushing the buffer much more frequently than it needs to be flushed. The stream benchmark shows a 7% benefit to removing the Flush call, and I observed a similar speedup in my real-world use case. benchmark old ns/op new ns/op delta Benchmark_encode_string_with_SetEscapeHTML-8 442 437 -1.13% Benchmark_jsoniter_large_file-8 21222 21062 -0.75% Benchmark_json_large_file-8 40187 40266 +0.20% Benchmark_stream_encode_big_object-8 8611 7956 -7.61% benchmark old allocs new allocs delta Benchmark_encode_string_with_SetEscapeHTML-8 6 6 +0.00% Benchmark_jsoniter_large_file-8 78 78 +0.00% Benchmark_json_large_file-8 13 13 +0.00% Benchmark_stream_encode_big_object-8 0 0 +0.00% benchmark old bytes new bytes delta Benchmark_encode_string_with_SetEscapeHTML-8 760 760 +0.00% Benchmark_jsoniter_large_file-8 4920 4920 +0.00% Benchmark_json_large_file-8 6640 6640 +0.00% Benchmark_stream_encode_big_object-8 0 0 +0.00% Backwards compatibility - I believe there is little to no risk that this breaks callers. WriteMore does not leave the JSON in a valid state, so it must be followed by other Write* methods. To get the finished JSON out, the caller must already be calling Flush. -
(*Stream).Flush: reset buffer to beginning
Previously it would append to the end of the buffer instead of reusing the now-free space. Benchmark demonstrates the improvement, run with -benchtime=10s benchmark old ns/op new ns/op delta Benchmark_encode_string_with_SetEscapeHTML-8 447 442 -1.12% Benchmark_jsoniter_large_file-8 20998 21222 +1.07% Benchmark_json_large_file-8 39593 40187 +1.50% Benchmark_stream_encode_big_object-8 10787 8611 -20.17% benchmark old allocs new allocs delta Benchmark_encode_string_with_SetEscapeHTML-8 6 6 +0.00% Benchmark_jsoniter_large_file-8 78 78 +0.00% Benchmark_json_large_file-8 13 13 +0.00% Benchmark_stream_encode_big_object-8 31 0 -100.00% benchmark old bytes new bytes delta Benchmark_encode_string_with_SetEscapeHTML-8 760 760 +0.00% Benchmark_jsoniter_large_file-8 4920 4920 +0.00% Benchmark_json_large_file-8 6640 6640 +0.00% Benchmark_stream_encode_big_object-8 10056 0 -100.00% Fixes #438
Commits on Jan 17, 2020
Commits on Jan 16, 2020
Commits on Jan 15, 2020
Commits on Jan 14, 2020
Commits on Jan 10, 2020
Commits on Jan 6, 2020
-
Merge pull request #427 from AllenX2018/fix-typo
fix the error message typo of ReadObjectCB & ReadMapCb function
Commits on Jan 3, 2020
Commits on Dec 21, 2019
-
Merge pull request #422 from JensErat/map-invalid-type
pass nested error in compatible configuration, fixes #388
-
Merge pull request #423 from vano144/fix-attachments-on-stream
fix nil attachment on stream in custom encoder on sorted map
-
Merge pull request #424 from aaronbee/sortKeysMapAllocations
Reduce allocations in sortKeysMapEncoder

