import com.google.gson.Gson;
public class JavaJsonSerializer {
public static void main(String[] args) {
/*
* {
"pageInfo": {
"pageName": "TheTestbook",
"pagePic": "content.jpg"
},
"posts": [{
"postId": "123456",
"postName": "Java Post"
}]
}
*/
String jsonString = "{ \"pageInfo\": { \"pageName\": \"TheTestbook\",
\"pagePic\": \"content.jpg\" },"
+ " \"posts\": [{ \"postId\": \"123456\",
\"postName\": \"Java Post\" }]}";
Gson gson = new Gson();
BlogPost blogPost = gson.fromJson(jsonString, BlogPost.class);
System.out.println(blogPost);
}
}
To support this Main program - you have to create 3 more Java classes
public class BlogPost {
private PageInfo pageInfo;
private List posts;
public PageInfo getPageInfo() {
return pageInfo;
}
public void setPageInfo(PageInfo pageInfo) {
this.pageInfo = pageInfo;
}
public List getPosts() {
return posts;
}
public void setPosts(List posts) {
this.posts = posts;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("BlogPost [pageInfo=");
builder.append(pageInfo);
builder.append(", posts=");
builder.append(posts);
builder.append("]");
return builder.toString();
}
}
public class PageInfo {
private String pageName;
private String pagePic;
public String getPageName() {
return pageName;
}
public void setPageName(String pageName) {
this.pageName = pageName;
}
public String getPagePic() {
return pagePic;
}
public void setPagePic(String pagePic) {
this.pagePic = pagePic;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("PageInfo [pageName=");
builder.append(pageName);
builder.append(", pagePic=");
builder.append(pagePic);
builder.append("]");
return builder.toString();
}
}
public class Post {
private String postId;
private String postName;
public String getPostId() {
return postId;
}
public void setPostId(String postId) {
this.postId = postId;
}
public String getPostName() {
return postName;
}
public void setPostName(String postName) {
this.postName = postName;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Post [postId=");
builder.append(postId);
builder.append(", postName=");
builder.append(postName);
builder.append("]");
return builder.toString();
}
}
Output:
BlogPost [pageInfo=PageInfo [pageName=TheTestbook, pagePic=content.jpg], posts=[Post [postId=123456, postName=Java Post]]]
Sunday, October 28, 2018
How to parse JSON in Java - Marshalling to Java Objects
Often times there will be a need to marshal JSON data to Java objects to store them in a data source. I have explained the concept using simple Java programs - I have used GSON library to do this and this will be pretty much same using any other libraries.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment