@JsonAutoDetect can be used to include properties which are not accessible otherwise.
import java.io.IOException; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonTester { public static void main(String args[]){ ObjectMapper mapper = new ObjectMapper(); try{ Student student = new Student(1,"Mark"); String jsonString = mapper .writerWithDefaultPrettyPrinter() .writeValueAsString(student); System.out.println(jsonString); } catch (IOException e) { e.printStackTrace(); } } } @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY) class Student { private int id; private String name; Student(int id,String name) { this.id = id; this.name = name; } }
{ "id" : 1, "name" : "Mark" }