2

Following is the array of the json object

[
  {
    "name": " hh",
    "place": "usa",
    "isPres": false,
    "id": {
      "lId": {
        "id1": "40",
        "level1": "tte"
      },
      "space": "ua"
    },
    "isempty": null,
    "isspace": true
  },
  {
    "name": " GE",
    "place": "guinea",
    "isPres": true,
    "id": {
      "lId": {
        "id1": "30",
        "level1": "Le"
      },
      "space": "ma"
    },
    "isempty": null,
    "isspace": false
  }
]

I tried the below code to convert the JSON array to POJO

public class JsonToPojo {

 public static void main(String[] args) {  
      String packageName="com.vogella.maven.quickstart";  
      File inputJson= new File("C:/projects/quickstart/input.json");  
      File outputPojoDirectory=new File("."+File.separator+"convertedPojo");  
      outputPojoDirectory.mkdirs();  
      try {  
           new JsonToPojo().convert2JSON(inputJson.toURI().toURL(), outputPojoDirectory, packageName, inputJson.getName().replace(".json", ""));  
      } catch (IOException e) {  
           // TODO Auto-generated catch block  
           System.out.println("Encountered issue while converting to pojo: "+e.getMessage());  
           e.printStackTrace();  
      }  
 }  
 public void convert2JSON(URL inputJson, File outputPojoDirectory, String packageName, String className) throws IOException{  
      JCodeModel codeModel = new JCodeModel();  
      URL source = inputJson;  
      GenerationConfig config = new DefaultGenerationConfig() {  
      @Override  
      public boolean isGenerateBuilders() { // set config option by overriding method  
          return true;  
      }  
      public SourceType getSourceType(){  
  return SourceType.JSON;  
}  
      };  
      SchemaMapper mapper = new SchemaMapper(new RuleFactory(config, new Jackson2Annotator(config), new SchemaStore()), new SchemaGenerator());  
      mapper.generate(codeModel, className, packageName, source);  
      codeModel.build(outputPojoDirectory);  
 }  

}

but the problem is i am getting the java pojo class only for one object of the array and not for the two objects i want the result for both the arrays

1

1 Answer 1

0

Just a suggestion :: If you are using eclipse you can use https://marketplace.eclipse.org/content/jsonizer plugin to create your pojo automatically from Sample JSON

and then in your java code, you can use Jackson mapper

ObjectMapper mapper = new ObjectMapper();
String jsonInString = "{'name' : 'mkyong'}";

//JSON from String to Object
User user = mapper.readValue(jsonInString, User.class);
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.