У меня есть файл JSON, который представляет собой меню. Таким образом, есть один массив с пиццей, и внутри этого массива есть массив ingredient
, который содержит id
из ингредиентов.
Так что я хочу создать объекты, которые имеют атрибуты из массивов pizza
со значением из массива ingredient
.
Моя ошибка ниже:
java.lang.IllegalArgumentException (вне токена START_OBJECT)
Я уже создал объект, который обращается только к массиву pizza
. В коде вы можете увидеть, как я пытался преобразовать его.
Фрагмент кода
public static void main(String[] args)
throws JsonGenerationException, JsonMappingException, IOException
{
//File file = new File("path");
ObjectMapper mapper = new ObjectMapper();
try
{
JsonNode gesMenu = mapper.readValue(file, JsonNode.class);
JsonNode jMenu = gesMenu.get("Menu");
JsonNode gesIngredient = jMenu.get("ingredient");
Ingredient[] cIngredient = mapper.convertValue(gesIngredient, Ingredient[].class);
System.out.println(cIngredient[7].getDescription());;
JsonNode gesPizza = jMenu.get("pizza");
System.out.println("\n" + gesPizza);
//These last two lines cause Errors
Pizza2[] pPizza = mapper.convertValue(gesPizza, Pizza2[].class);
System.out.println(pPizza[0]);
}
...
Вот пример файла JSON:
{
"menu" : {
"pizza" : [
{
"nr" : 1,
"description" : "Pizza Salami",
"ingredient" : [
{
"id" : 0
}
],
"Picture" : "Salami.jpg"
}
]
}
}