Commit Graph

169 Commits

Author SHA1 Message Date
Eric Cochran
a16323db02 Disallow Moshi.Builder.add(null) 2017-01-17 17:51:04 -08:00
Serj Lotutovici
38a06b080d Fix Long parsing for big values. 2017-01-16 13:47:29 -05:00
Jesse Wilson
f667733ec7 Merge pull request #219 from serj-lotutovici/sl/to_string
Make ArrayJsonAdapter implement toString().
2017-01-16 13:26:46 -05:00
jmfayard
176e9d0685 Moshi.Builder#setPrettyPrinting + failing test 2017-01-16 13:25:57 -05:00
Serj Lotutovici
0ccc746db5 Make ArrayJsonAdapter implement toString(). 2016-12-28 20:03:12 +01:00
jwilson
4c973d1aef Adapter methods get nulls if they accept JsonReader/JsonWriter.
https://gist.github.com/SteinerOk/82f90fb570ef9ad35e2833ee96747939
2016-10-23 10:57:19 -04:00
jwilson
e1809aa6f9 [maven-release-plugin] prepare for next development iteration 2016-10-21 09:35:13 -04:00
jwilson
6d623663cb [maven-release-plugin] prepare release moshi-parent-1.3.1 2016-10-21 09:35:10 -04:00
jwilson
b0e11ebb1c Don't reject escaped forward slashes.
Closes: https://github.com/square/moshi/issues/209
2016-10-20 21:34:22 -04:00
jwilson
4ff50c47ac [maven-release-plugin] prepare for next development iteration 2016-10-15 14:18:34 -04:00
jwilson
71ded8d091 [maven-release-plugin] prepare release moshi-parent-1.3.0 2016-10-15 14:18:31 -04:00
Jesse Wilson
e54fa3c31a Merge pull request #202 from square/jwilson.1015.deep
Limit to 31 levels of nested structure.
2016-10-15 13:57:33 -04:00
jwilson
d8743eeef1 Limit to 31 levels of nested structure.
With the implicit enclosing document this is 32 levels total. The limit
is arbitrary but sufficient - deeper limits yield code that fails with
StackOverflowExceptions during the depth-first traversal.

We were previously broken in JsonWriter on this - the code we added to
support path building was accessing the top of the stack before the
stack had been resized, causing a crash. Because this crash has existed
forever without much outcry we know the limit is likely sufficient for
our existing users.

Closes: https://github.com/square/moshi/issues/189
2016-10-15 13:54:48 -04:00
jwilson
2b5301f737 Fix enclosed types with adapter methods.
This was broken becase reflection was providing owner types but our
API didn't have a way to specify them.

Closes: https://github.com/square/moshi/issues/148
2016-10-15 10:03:01 -04:00
jwilson
d6b982629d Test more cases of injecting JsonAdapters. 2016-10-14 08:30:25 -04:00
Jesse Wilson
c56370257e Merge pull request #197 from square/jwilson.1013.json_adapter_parameters
Permit JsonAdapters to be injected in toJson(), fromJson() methods.
2016-10-14 08:11:16 -04:00
jwilson
afbaa6a8ef Permit JsonAdapters to be injected in toJson(), fromJson() methods.
Closes: https://github.com/square/moshi/issues/142
2016-10-14 08:05:32 -04:00
Jake Wharton
059e8ef286 Merge pull request #198 from square/jwilson.1013.standard_prefixes
Omit Kotlin and Scala platform types from the class adapter.
2016-10-13 22:16:39 -04:00
jwilson
6df7fa4dd5 Don't link to Google's internal bugtracker.
Closes: https://github.com/square/moshi/issues/122
2016-10-13 22:09:19 -04:00
jwilson
10703aae65 Omit Kotlin and Scala platform types from the class adapter.
It's unlikely that these will be stable, or that they'll do anything reasonable.

Closes: https://github.com/square/moshi/issues/185
2016-10-13 22:06:45 -04:00
Jake Wharton
47972ba577 Differentiate encoding problems with a specific exception. 2016-07-08 21:19:55 -04:00
Jake Wharton
d5c646f93e Propagate adapter method exception cause. 2016-06-06 01:48:03 -04:00
Jake Wharton
a9d73f27d8 Merge pull request #166 from square/jwilson.0602.invalid_escapes
Fail on invalid escapes.
2016-06-02 10:12:59 -04:00
jwilson
14549725ef Fail on invalid escapes.
Related to https://github.com/google/gson/issues/824
2016-06-02 09:31:32 -04:00
SatoShun
067077822d Add Override annotation 2016-05-29 02:16:41 +00:00
jwilson
23e6d36a8b [maven-release-plugin] prepare for next development iteration 2016-05-28 14:27:08 -04:00
jwilson
5f0e509b8d [maven-release-plugin] prepare release moshi-parent-1.2.0 2016-05-28 14:27:04 -04:00
Jake Wharton
c4896fdaed Merge pull request #160 from square/jwilson.0502_okio180
Upgrade to Okio 1.8.0.
2016-05-02 01:34:48 -04:00
jwilson
3477c4d743 Upgrade to Okio 1.8.0. 2016-05-02 00:48:36 -04:00
Jake Wharton
360006b7bf Add writer value overload for boxed booleans.
Autoboxing resolves boxed longs and doubles to value(Number), but a boxed boolean would otherwise resolve to value(boolean) with an implicit call to booleanValue() which has the potential to throw NPEs.
2016-04-29 17:16:52 -04:00
jwilson
13ec26a96d Be more aggressive about canonicalizing types.
Unfortunately we shouldn't be relying on equals() and hashCode() of the
default implementations anywhere.
2016-04-24 10:05:03 -04:00
Tomas Kotula
739efea61d Workaround for Android ParameterizedType implementation bug 2016-04-24 09:22:50 -04:00
Jake Wharton
c5d406592d Merge pull request #156 from square/jwilson_0423_track_options_api
Track Okio snapshot API change to Options.
2016-04-23 23:34:41 -04:00
Jesse Wilson
d7bd016614 Merge pull request #149 from xizzhu/support-gingerbread
Added support for pre-Gingerbread.
2016-04-23 23:24:00 -04:00
jwilson
20a64dff7e Track Okio snapshot API change to Options.
Also rename our own Selection class to Options since it's semantically
the same thing.

https://github.com/square/okio/pull/215
2016-04-23 23:20:39 -04:00
jwilson
4925755ffa Optimize reading one of several expected values with Selection
This isn't yet public API.

This relies on an unreleased Okio API.

This has a significant impact on performance. I measured parsing performance
improve from 89k ops/sec to 140k ops/sec on one benchmark.
2016-04-17 20:15:07 -10:00
Xizhi Zhu
5ec289ff9d Added support for pre-Gingerbread. 2016-04-08 14:29:13 +03:00
jwilson
69f4a96d5e Small optimizations to JSON parsing.
Prefer LinkedHashMap for maps that will be queried heavily.

Inline a single-line method to refill the buffer.
2016-04-06 00:39:04 -04:00
Jake Wharton
827f89adc8 Merge pull request #139 from square/jwilson_0313_promote_unquoted_keys
Confirm Moshi can handle unquoted numeric keys.
2016-03-13 16:01:38 -04:00
jwilson
41730edd4d Confirm Moshi can handle unquoted numeric keys.
See also https://github.com/google/gson/pull/809/files
2016-03-13 15:53:23 -04:00
Jesse Wilson
33e1fb1bb5 Merge pull request #127 from square/jw/redundant
Remove redundant loop variable.
2016-01-21 16:46:43 -05:00
Jake Wharton
82e70e9cce Remove redundant loop variable. 2016-01-21 11:16:09 -05:00
Jake Wharton
dc154c733a Missing @Override annotations. 2016-01-21 11:15:34 -05:00
Jesse Wilson
b8e6dc403e Merge pull request #125 from square/jw/iface-and-impl
Break apart Okio-based JSON reader and writer.
2016-01-21 10:17:08 -05:00
Jake Wharton
1071cec7d1 Break apart Okio-based JSON reader and writer. 2016-01-20 23:43:05 -05:00
jwilson
ad3506ffed [maven-release-plugin] prepare for next development iteration 2016-01-18 17:17:10 -05:00
jwilson
30a4c3c92e [maven-release-plugin] prepare release moshi-parent-1.1.0 2016-01-18 17:17:08 -05:00
jwilson
324a59e0c9 Use an array indexed by ordinal to go from enum to name. 2016-01-18 16:57:07 -05:00
Jesse Wilson
8a5c0f387b Merge pull request #119 from serj-lotutovici/sl/json_for_enums
Enable Json annotation for enum values.
2016-01-18 16:52:02 -05:00
Jake Wharton
97d2bf5e66 Update reader and writer to RFC 7159. 2016-01-18 00:54:54 -05:00