You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@johnzon.apache.org by "Romain Manni-Bucau (JIRA)" <ji...@apache.org> on 2017/12/29 09:15:00 UTC

[jira] [Commented] (JOHNZON-152) Ability to serialize field of a type from value introspection instead of field introspection

    [ https://issues.apache.org/jira/browse/JOHNZON-152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16306135#comment-16306135 ] 

Romain Manni-Bucau commented on JOHNZON-152:
--------------------------------------------

Hi Steven,

using an object writer is the way to do, it doesnt have to use a Map conversion but a {type:xxxx, value:{...}} kind of model. No issue to have a built-in converter to do that you can directly reuse but I don't think we need a @JohnzonDynamic.

> Ability to serialize field of a type from value introspection instead of field introspection
> --------------------------------------------------------------------------------------------
>
>                 Key: JOHNZON-152
>                 URL: https://issues.apache.org/jira/browse/JOHNZON-152
>             Project: Johnzon
>          Issue Type: Wish
>          Components: Mapper
>    Affects Versions: 1.1.5
>            Reporter: Steven Walters
>            Priority: Minor
>
> In our project, we have a few types that have an Object field that is used to accept a few different types of objects.
> * Sometimes the field is an effective primitives (Float, Integer, Long, etc)
> * Sometimes they're Collections (List, Set) 
> * Sometimes they're other custom defined objects
> Right now johnzon mapper determines the type of the field based on its defined type "Object" which means just about nothing. This almost always causes serialization issues (with default behavior) unless its null.
> We would like to have an annotation (such as @JohnzonDynamic) to indicate the field is dynamic and its type should be determined via introspection of the value, rather than the field's declared type. Similar to how a map's value is done.
> For simplicity, this could be considered a read-only field to avoid the complexity of trying to set this field to whatever data comes in during deserialization.
> Right now we're working around this via a custom ObjectWriter that converts the object to a map and then passes the map to serialization, which has some inconveniences of maintenance.
> Maybe other projects could see some use of this?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)