[
https://issues.apache.org/jira/browse/POLYGENE-157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15885885#comment-15885885
]
Paul Merlin commented on POLYGENE-157:
--------------------------------------
I ended up with the following:
When serializing a Map, if all its keys are serialized to String, then
serialize the Map as a simple object.
Otherwise, serialize the Map as an array of entry objects.
When deserializing a Map, detect both formats.
In other words, Map<String, ?>, Map<ZonedDateTime, ?> and EnumMap<SomeEnum, ?>
will be serialized as simple objects because their keys end up as Strings when
serialized. On the other hand, Map<Integer, ?> and Map<SomeValue, ?> will be
serialized as arrays of entry objects because their keys do not end up as
Strings when serialized.
> Remove support for legacy Map serialization format.
> ---------------------------------------------------
>
> Key: POLYGENE-157
> URL: https://issues.apache.org/jira/browse/POLYGENE-157
> Project: Polygene
> Issue Type: Task
> Reporter: Niclas Hedhman
> Assignee: Paul Merlin
> Fix For: 3.0
>
>
> In Qi4j 1.x, we serialized the Maps as
> [
> { "key":"abc", "value":"def" )
> ]
> which in 2.x became
> {
> "abc":"def"
> }
> We should remove the old format to make the code cleaner and less confusing.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)