Jackson Streaming API – read and write json

In this post,we will see how can we will use jackson streaming API to read and write JSON .

Java JSON Tutorial Content:

In previous post, we have seen jackson example, but it reads whole json file in memory but if we have large json file, then it is not efficient. So If you want to read or write large json file, we need to use jackson streaming API which do not read whole file in memory.
Two important classes for jackson streaming API are:
  • JsonGenerator : To write json
  • JsonParser : To read json
But Jackson streaming API is very less flexible and can not be easily used. We need to handle each and every field and there is no need to create java object unless explicitly required.


In this post,we will read and write JSON using Jackson Streaming API.
1). Create a java project named “JacksonStreamingAPIExample”

2) Add following maven dependency for jackson.
Pom.xml :

3) create a pojo named “Country.java”

Write JSON to file:

4) Create a new class named “JacksonWriteToFileStreamingAPIExample.java” in src->org.arpit.java2blog.JacksonStreamingAPIExample

Run above program and content of file countryStreaming.json will be as below :

Read JSON to file:

Here we will read above created JSON file.
5) Create a new class named “JacksonJsonReadFromFileExample.java” in src->org.arpit.java2blog.JacksonStreamingAPIExample

Run above program and you will get following output:
click to begin
20KB .zip

6) Project Structure:

Was this post helpful?

Comments

    1. You can go to maven central repository – http://search.maven.org/ – and for each of the listed dependencies search for their associated versions. When you find them in the repository there will be a link to allow you to download the jar file manually.

      Once you have them downloaded locally you just set your classpath to their location when you run the program or configure your development environment to look at the location when it builds or launches the app.

Leave a Reply to Dave Cancel reply

Your email address will not be published. Required fields are marked *