I am reading in a JSON file that I put in my project folder. I am not getting an error that the file doesn't exist and before I added the line to ignore unknown values I was getting errors. So I am pretty sure it is reading values in. The problem I am having is when I try to print out variables from the JSON file I get null values.
File jsonFile = new File("FoodItemData.json");
FoodItemData food = null;
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
try {
food = mapper.readValue(jsonFile, FoodItemData.class);
System.out.println(food.getcountry());
System.out.println(food.getId());
System.out.println(food.getDescription());
System.out.println(food.getcountry());
System.out.println(food);
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(food.getcountry());
I call the class FoodItemData and it returns null for all the gets.
public class FoodItemData{
private String country;
private String category;
private String description;
private String id;
private String name;
private String price;
public String getcountry(){
return this.country;
}
public void setcountry(String country){
this.country = country;
}
public String getCategory(){
return this.category;
}
public void setCategory(String category){
this.category = category;
}
public String getDescription(){
return this.description;
}
public void setDescription(String description){
this.description = description;
}
public String getId(){
return this.id;
}
public void setId(String id){
this.id = id;
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
public String getPrice(){
return this.price;
}
public void setPrice(String price){
this.price = price;
}
}
Here is my JSON file
{ "FoodItemData": [
{
"-country": "GB",
"id": "100",
"name": "Steak and Kidney Pie",
"description": "Tender cubes of steak, with tender lamb kidney is succulent rich gravy. Served with a side of mashed potatoes and peas.",
"category": "Dinner",
"price": "15.95"
},
{
"-country": "GB",
"id": "101",
"name": "Toad in the Hole",
"description": "Plump British Pork sausages backed in a light batter. Served with mixed vegetables and a brown onion gravy.",
"category": "Dinner",
"price": "13.95"
},
{
"-country": "GB",
"id": "102",
"name": "Ploughman’s Salad",
"description": "Pork Pie, Pickled Onions, Pickled relish Stilton and Cheddar cheeses and crusty French bread.",
"category": "Lunch",
"price": "10.95"
}
]
}
What am I doing wrong?
FoodItemDataand what you have in the FoodItemData.json file. Posting a content of that file will help to see if this is a case