Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7898339
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T08:24:21+00:00 2026-06-03T08:24:21+00:00

Using Jackson, how can I have JSON serialized/deserialized by one application using one set

  • 0

Using Jackson, how can I have JSON serialized/deserialized by one application using one set of classes, but have another application deserialize the same JSON and load different implementations of those classes?

I have a (Spring MVC) web application that allows users to define steps in a script, that in turn will be executed in a client application. Steps might be things like ShowDialogStep, with properties like dialogText, or WaitStep with a property of duration.

The client application will load collections of steps from the server. However, the classes instantiated by the client need to have execution-specific functionality like execute(), which in the case of WaitStep will keep a track of how far through waiting it is. Clearly the server-side application never needs know about this, and in less trivial examples the execute/update logic of a steps involves all manner of client-specific dependencies.

So, to recap I need:

  • The server application to map the ‘prototype’ classes to JSON;
  • The client application to read the same JSON but instantiate execution-specific classes instead of the ‘prototype’ ones.

Would this be something that could be configured on the client-side mapper, perhaps if the JSON was serialized using relative class names (rather than fully-qualified) then the deserializer could be configured to look in a different package for the implementations with execution logic in them?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T08:24:23+00:00Added an answer on June 3, 2026 at 8:24 am

    You can use this approach:

    On the server side:

    @JsonTypeInfo(use=JsonTypeInfo.Id.NAME, 
          include=JsonTypeInfo.As.PROPERTY, property="@type")
    class Prototype {
    ...
    }
    
    objectMapper.registerSubtypes(
                new NamedType(Prototype.class, "Execution"),
                ...
    );
    

    then it will serialize a Prototype instance and add a type of bean:

    {
      "@type" : "Execution",
      ...
    }
    

    on the client-side:

    @JsonTypeInfo(use=JsonTypeInfo.Id.NAME, 
          include=JsonTypeInfo.As.PROPERTY, property="@type")
    class Execution {
    ...
    }
    
    objectMapper.registerSubtypes(
                new NamedType(Execution.class, "Execution"), // the same name
        ....
    );
    objectMapper.readValue(....); // will be deserialized to an Execution instance
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a problem deserializing a JSON string using Jackson (but I have no
I have a class that needs to be deserialized from JSON using Jackson. The
How would you deserialize a JSON document to a POJO using Jackson if you
I am using JACKSON 1.6.3 version. I have one class which has a reference
I have question related to bean to json serialziation/deserialization using Jackson. Previously I have
I'm using Spring Data, Neo4j and Jackson to serve a JSON API. I have
I produce json using resteasy. Everything works fine but... I can't order the parameters
How can I receive the node names from a JSON tree using Jackson? The
I'm trying to read a legacy JSON code using Jackson 2.0-RC3, however I'm stuck
I am new in android, I am using jackson-all-1.9.4 jar in my application for

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.