Child object json string to Parent object Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) The Ask Question Wizard is Live! Data science time! April 2019 and salary with experienceSafely turning a JSON string into an objectCan comments be used in JSON?How do I read / convert an InputStream into a String in Java?How can I pretty-print JSON in a shell script?What is the correct JSON content type?How do I test for an empty JavaScript object?Why does Google prepend while(1); to their JSON responses?Convert JS object to JSON stringHow do I convert a String to an int in Java?Why is char[] preferred over String for passwords?
New Order #5: where Fibonacci and Beatty meet at Wythoff
How to say that you spent the night with someone, you were only sleeping and nothing else?
Why is "Captain Marvel" translated as male in Portugal?
Area of a 2D convex hull
How do I automatically answer y in bash script?
Can a zero nonce be safely used with AES-GCM if the key is random and never used again?
How should I respond to a player wanting to catch a sword between their hands?
Direct Experience of Meditation
Why don't the Weasley twins use magic outside of school if the Trace can only find the location of spells cast?
Stars Make Stars
Is there a service that would inform me whenever a new direct route is scheduled from a given airport?
When communicating altitude with a '9' in it, should it be pronounced "nine hundred" or "niner hundred"?
What is the electric potential inside a point charge?
How can players take actions together that are impossible otherwise?
Using "nakedly" instead of "with nothing on"
Passing functions in C++
Classification of bundles, Postnikov towers, obstruction theory, local coefficients
Cauchy Sequence Characterized only By Directly Neighbouring Sequence Members
Who can trigger ship-wide alerts in Star Trek?
What to do with post with dry rot?
Was credit for the black hole image misattributed?
How can I make names more distinctive without making them longer?
Writing Thesis: Copying from published papers
How to rotate it perfectly?
Child object json string to Parent object
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
The Ask Question Wizard is Live!
Data science time! April 2019 and salary with experienceSafely turning a JSON string into an objectCan comments be used in JSON?How do I read / convert an InputStream into a String in Java?How can I pretty-print JSON in a shell script?What is the correct JSON content type?How do I test for an empty JavaScript object?Why does Google prepend while(1); to their JSON responses?Convert JS object to JSON stringHow do I convert a String to an int in Java?Why is char[] preferred over String for passwords?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
String JSON inheritance child to the parent object
Base class of code
public class A
int x;
int y;
int z;
public A(int x, int y, int z)
this.x = x;
this.y = y;
this.z = z;
Child class :
public class B extends A
int i;
int j ;
public B(int x, int y, int z, int i, int j)
this.i = i;
this.j = j;
super(x,y,z);
B b = new B();
// converting the obj to class obj
String s = new ObjectMapper().writeValueAsString(b);
A a = new ObjectMapper().convertValue(s, A.class);
B bb = (B) b;
I am not able to achieve this.
As a parent class doesn't have all the fields.
There is a drop in the attribute values
Object A will miss some values and not able to convert
the parent obj to child obj.
How we can convert this properly
Should we add @JsonProperty
java json jackson
add a comment |
String JSON inheritance child to the parent object
Base class of code
public class A
int x;
int y;
int z;
public A(int x, int y, int z)
this.x = x;
this.y = y;
this.z = z;
Child class :
public class B extends A
int i;
int j ;
public B(int x, int y, int z, int i, int j)
this.i = i;
this.j = j;
super(x,y,z);
B b = new B();
// converting the obj to class obj
String s = new ObjectMapper().writeValueAsString(b);
A a = new ObjectMapper().convertValue(s, A.class);
B bb = (B) b;
I am not able to achieve this.
As a parent class doesn't have all the fields.
There is a drop in the attribute values
Object A will miss some values and not able to convert
the parent obj to child obj.
How we can convert this properly
Should we add @JsonProperty
java json jackson
add a comment |
String JSON inheritance child to the parent object
Base class of code
public class A
int x;
int y;
int z;
public A(int x, int y, int z)
this.x = x;
this.y = y;
this.z = z;
Child class :
public class B extends A
int i;
int j ;
public B(int x, int y, int z, int i, int j)
this.i = i;
this.j = j;
super(x,y,z);
B b = new B();
// converting the obj to class obj
String s = new ObjectMapper().writeValueAsString(b);
A a = new ObjectMapper().convertValue(s, A.class);
B bb = (B) b;
I am not able to achieve this.
As a parent class doesn't have all the fields.
There is a drop in the attribute values
Object A will miss some values and not able to convert
the parent obj to child obj.
How we can convert this properly
Should we add @JsonProperty
java json jackson
String JSON inheritance child to the parent object
Base class of code
public class A
int x;
int y;
int z;
public A(int x, int y, int z)
this.x = x;
this.y = y;
this.z = z;
Child class :
public class B extends A
int i;
int j ;
public B(int x, int y, int z, int i, int j)
this.i = i;
this.j = j;
super(x,y,z);
B b = new B();
// converting the obj to class obj
String s = new ObjectMapper().writeValueAsString(b);
A a = new ObjectMapper().convertValue(s, A.class);
B bb = (B) b;
I am not able to achieve this.
As a parent class doesn't have all the fields.
There is a drop in the attribute values
Object A will miss some values and not able to convert
the parent obj to child obj.
How we can convert this properly
Should we add @JsonProperty
java json jackson
java json jackson
edited Mar 22 at 7:50
Maurice Perry
5,6212516
5,6212516
asked Mar 22 at 7:09
Aditya_GAditya_G
124
124
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
First, you must add a public parameter-less constructor in both classes, then you can try this:
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
mapper.enableDefaultTyping();
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
// converting the obj to class obj
String s = mapper.writeValueAsString(b);
A a = mapper.readValue(s, A.class);
B bb = (B) b;
UPDATE
You can also add an annotation to class A:
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS)
And then do this:
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
// converting the obj to class obj
String s = mapper.writeValueAsString(b);
A a = mapper.readValue(s, A.class);
B bb = (B) b;
add a comment |
You coul add
@JsonIgnoreProperties(ignoreUnknown = true) before class A declaration as below.
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
class A
//
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55294532%2fchild-object-json-string-to-parent-object%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
First, you must add a public parameter-less constructor in both classes, then you can try this:
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
mapper.enableDefaultTyping();
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
// converting the obj to class obj
String s = mapper.writeValueAsString(b);
A a = mapper.readValue(s, A.class);
B bb = (B) b;
UPDATE
You can also add an annotation to class A:
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS)
And then do this:
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
// converting the obj to class obj
String s = mapper.writeValueAsString(b);
A a = mapper.readValue(s, A.class);
B bb = (B) b;
add a comment |
First, you must add a public parameter-less constructor in both classes, then you can try this:
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
mapper.enableDefaultTyping();
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
// converting the obj to class obj
String s = mapper.writeValueAsString(b);
A a = mapper.readValue(s, A.class);
B bb = (B) b;
UPDATE
You can also add an annotation to class A:
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS)
And then do this:
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
// converting the obj to class obj
String s = mapper.writeValueAsString(b);
A a = mapper.readValue(s, A.class);
B bb = (B) b;
add a comment |
First, you must add a public parameter-less constructor in both classes, then you can try this:
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
mapper.enableDefaultTyping();
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
// converting the obj to class obj
String s = mapper.writeValueAsString(b);
A a = mapper.readValue(s, A.class);
B bb = (B) b;
UPDATE
You can also add an annotation to class A:
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS)
And then do this:
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
// converting the obj to class obj
String s = mapper.writeValueAsString(b);
A a = mapper.readValue(s, A.class);
B bb = (B) b;
First, you must add a public parameter-less constructor in both classes, then you can try this:
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
mapper.enableDefaultTyping();
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
// converting the obj to class obj
String s = mapper.writeValueAsString(b);
A a = mapper.readValue(s, A.class);
B bb = (B) b;
UPDATE
You can also add an annotation to class A:
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS)
And then do this:
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
// converting the obj to class obj
String s = mapper.writeValueAsString(b);
A a = mapper.readValue(s, A.class);
B bb = (B) b;
edited Mar 22 at 8:14
answered Mar 22 at 8:08
Maurice PerryMaurice Perry
5,6212516
5,6212516
add a comment |
add a comment |
You coul add
@JsonIgnoreProperties(ignoreUnknown = true) before class A declaration as below.
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
class A
//
add a comment |
You coul add
@JsonIgnoreProperties(ignoreUnknown = true) before class A declaration as below.
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
class A
//
add a comment |
You coul add
@JsonIgnoreProperties(ignoreUnknown = true) before class A declaration as below.
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
class A
//
You coul add
@JsonIgnoreProperties(ignoreUnknown = true) before class A declaration as below.
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
class A
//
answered Mar 22 at 7:26
codiallocodiallo
421
421
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55294532%2fchild-object-json-string-to-parent-object%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown