Extract structured data from the following HTML and return it as JSON.

HTML:
<div class="post-header__body oflow-x-hidden ml-reset post-header__body--recipe" role="banner" style="outline: rgb(74, 144, 226) solid 3px; outline-offset: 2px;"><div class="headline post-header__title post-header__title--masthead-layout"><h1 class="heading-1">Vegetarian lasagne</h1></div><div class="post-header__body__author"><div class="author-link d-inline pa-reset author-link__list" data-feature="Author"><ul class="d-inline pa-reset list-style-none"><li class="d-inline"><a class="link link--styled" data-component="Link" href="/author/goodfood" rel="author">Good Food team</a></li></ul></div></div><div class="pocket hidden-print mb-sm" data-placement="recipeActions"><div class="split-button" data-feature="save"><button class="button split-button__button split-button__main-button button--no-min-width" data-component="Button" data-component-variant="save" data-gtm-class="save-button" role="button" type="button"><div class="button__content"><div class="split-button__main-button-content d-flex justify-content-space-between align-items-center full-width"><i class="icon" style="width:14px;min-width:14px;height:14px;min-height:14px;animation-duration:1000ms"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:inherit;fill:inherit"><use xlink:href="/static/icons/base/sprite-maps/core-1a005f7320611e9f728ab33e1967ce65.svg#plus"></use></svg></i><div class="pl-xs">Save recipe</div></div></div></button><button aria-label="Manage Collections" class="button split-button__button split-button__sub-button button--no-min-width button--no-padding button--secondary" data-component="Button" data-component-variant="add-to-collection-button" data-gtm-class="add-to-collection-button" role="button" tabindex="-1" type="button"><div class="button__content"><i class="icon" style="width:20px;min-width:20px;height:20px;min-height:20px;animation-duration:1000ms"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:inherit;fill:inherit"><use xlink:href="/static/icons/base/sprite-maps/core-1a005f7320611e9f728ab33e1967ce65.svg#dot-menu"></use></svg></i></div></button></div></div><div class="recipe-cook-and-prep-details"><div class="recipe-cook-and-prep-details__section"><div class="recipe-cook-and-prep-details__item"><strong>Serves 10</strong></div><div class="recipe-cook-and-prep-details__item"><strong>Easy</strong></div></div><div class="recipe-cook-and-prep-details__section"><div class="recipe-cook-and-prep-details__item">Prep:<!-- --> <strong><span><time datetime="PT0H25M">25 mins</time></span></strong></div><div class="recipe-cook-and-prep-details__item">Cook:<!-- --> <strong><span><time datetime="PT1H10M">1 hr and 10 mins</time></span></strong></div></div></div><div class="pocket hidden-print post-header__row--center-aligned body-copy-small pocket--horizontal" data-placement="recipeMeta"><div class="mt-sm d-flex"><div class="rating__skiplinks" data-feature="Reactions" data-placement="Reactions Quick Links"><a class="link d-flex" data-component="Link" href="#rating"><div class="rating rating--inline"><div aria-label="rating" class="rating__values"><div class="rating__stars d-flex"><i class="rating__icon d-inline-flex icon auto-9899" style="width: 15px; min-width: 15px; height: 15px; min-height: 15px; animation-duration: 1000ms;"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color: rgb(244, 191, 31); fill: rgb(244, 191, 31);"><use xlink:href="/static/icons/base/sprite-maps/stars-1a005f7320611e9f728ab33e1967ce65.svg#star-fill"></use></svg></i><i class="rating__icon d-inline-flex icon" style="width: 15px; min-width: 15px; height: 15px; min-height: 15px; animation-duration: 1000ms;"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color: rgb(244, 191, 31); fill: rgb(244, 191, 31);"><use xlink:href="/static/icons/base/sprite-maps/stars-1a005f7320611e9f728ab33e1967ce65.svg#star-fill"></use></svg></i><i class="rating__icon d-inline-flex icon" style="width: 15px; min-width: 15px; height: 15px; min-height: 15px; animation-duration: 1000ms;"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color: rgb(244, 191, 31); fill: rgb(244, 191, 31);"><use xlink:href="/static/icons/base/sprite-maps/stars-1a005f7320611e9f728ab33e1967ce65.svg#star-fill"></use></svg></i><i class="rating__icon d-inline-flex icon" style="width: 15px; min-width: 15px; height: 15px; min-height: 15px; animation-duration: 1000ms;"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color: rgb(244, 191, 31); fill: rgb(244, 191, 31);"><use xlink:href="/static/icons/base/sprite-maps/stars-1a005f7320611e9f728ab33e1967ce65.svg#star-fill"></use></svg></i><i class="rating__icon d-inline-flex icon" style="width: 15px; min-width: 15px; height: 15px; min-height: 15px; animation-duration: 1000ms;"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color: rgb(244, 191, 31); fill: rgb(244, 191, 31);"><use xlink:href="/static/icons/base/sprite-maps/stars-1a005f7320611e9f728ab33e1967ce65.svg#star-fill"></use></svg></i></div><span class="sr-only">A star rating of 4.5 out of 5.</span><span class="rating__count-text body-copy-small">323 ratings</span><span class="rating__rate-link ml-xs body-copy-small">Rate</span></div></div></a><script type="application/ld+json">{"@context":"https://schema.org/","@id":"https://www.bbcgoodfood.com/recipes/easy-vegetable-lasagne#Recipe","aggregateRating":{"@type":"AggregateRating","ratingValue":5,"reviewCount":323,"bestRating":5,"worstRating":1}}</script><a class="link d-inline-flex link--styled" data-component="Link" href="#commentsFeed">238 comments</a></div></div></div><div><div class="line-clamper recipe-masthead__description" id="recipe-masthead-description"><div class="region-clamper line-clamper__content" id="recipe-masthead-description-region" style="line-clamp:3;-webkit-line-clamp:3"><div class="editor-content"><p>Make our easy vegetable lasagne using just a few ingredients. You can use ready-made tomato sauce and white sauce, or batch cook the sauces and freeze them</p></div></div></div></div><div class="post-header--masthead__tags"><div class="post-header--masthead__tags-item">Freezable</div><div class="post-header--masthead__tags-item">Low sugar</div><div class="post-header--masthead__tags-item">Nut-free</div><div class="post-header--masthead__tags-item">Vegetarian</div></div><div class="ab_container"><button class="button hidden-for-sm-down button--icon button--no-min-width button--secondary" data-component="Button" data-component-variant="print-button" data-feature="print" data-gtm-class="print-button" role="button" type="button"><div class="button__content"><i class="mr-xs icon" style="width:20px;min-width:20px;height:20px;min-height:20px;animation-duration:nullms"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:inherit;fill:inherit"><use xlink:href="/static/icons/base/sprite-maps/core-1a005f7320611e9f728ab33e1967ce65.svg#print"></use></svg></i>Print</div></button><a class="ab_download_button" href="https://immediate.onelink.me/OQap?af_xp=custom&amp;pid=website&amp;c=guide_link_may25_variant2&amp;is_retargeting=true&amp;af_reengagement_window=30d&amp;af_dp=bbcgoodfood%3A%2F%2F" target="_blank"><img class="ab_pinktick" src="https://media.immediate.co.uk/volatile/sites/30/2025/03/arrowoutward27dpBE2A77FILL0wght400GRAD0opsz24-d1f0d96.svg"/><img class="ab_hide ab_whitetick" src="https://media.immediate.co.uk/volatile/sites/30/2025/02/arrowoutward24dp5F6368FILL0wght400GRAD0opsz24-1-8008a4f.svg"/>Try our app</a><p></p></div><div class="hidden-for-md-up post-header--masthead__piano-button-wrapper masthead-piano-promo-button"></div></div>
<!-- FRAGMENT SEPARATOR -->
<div class="tabbed-list__content" style="outline: rgb(74, 144, 226) solid 3px; outline-offset: 2px;"><div class=""><section class="ingredients-list auto-9824" data-component="IngredientsList" data-feature="Recipe Instructions" data-gtm-vis-first-on-screen39254740_288="267874" data-gtm-vis-has-fired39254740_288="1" data-gtm-vis-recent-on-screen39254740_288="267874" data-gtm-vis-total-visible-time39254740_288="100" data-id="83664" data-stitcher-dai-container="ingredients-list" id="ingredients-list"><section><ul class="ingredients-list list"><li class="ingredients-list__item list-item auto-4814" data-id="64172" style="outline-offset: 2px;"><span class="ingredients-list__item-quantity">3 </span><a class="link link--styled" data-component="Link" href="/glossary/pepper-glossary"><span class="ingredients-list__item-ingredient">red peppers</span></a><div class="ingredients-list__item-note" style="outline-offset: 2px;"> cut into large chunks</div></li><li class="ingredients-list__item list-item list-item--separator-top" style="outline-offset: 2px;"><span class="ingredients-list__item-quantity">2 </span><a class="link link--styled" data-component="Link" href="/glossary/aubergine-glossary"><span class="ingredients-list__item-ingredient">aubergines</span></a><div class="ingredients-list__item-note" style="outline-offset: 2px;"> cut into ½ cm thick slices</div></li><li class="ingredients-list__item list-item list-item--separator-top" style="outline-offset: 2px;"><span class="ingredients-list__item-quantity">8 tbsp </span><a class="link link--styled" data-component="Link" href="/glossary/olive-oil-glossary"><span class="ingredients-list__item-ingredient">olive oil</span></a><div class="ingredients-list__item-note"> plus extra for the dish</div></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">300g </span><span class="ingredients-list__item-ingredient">lasagne sheets</span></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">125g </span><span class="ingredients-list__item-ingredient">mozzarella</span></li><li class="ingredients-list__item list-item list-item--separator-top list-item--separator-bottom"><span class="ingredients-list__item-quantity">handful </span><a class="link link--styled" data-component="Link" href="/glossary/tomato-glossary"><span class="ingredients-list__item-ingredient">cherry tomatoes</span></a><div class="ingredients-list__item-note"> halved</div></li></ul></section><section><h3 class="ingredients-list__heading mb-sm mt-sm heading-5">For the tomato sauce</h3><ul class="ingredients-list list"><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">1 tbsp </span><a class="link link--styled" data-component="Link" href="/glossary/olive-oil-glossary"><span class="ingredients-list__item-ingredient" data-id="42311">olive oil</span></a></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">2 </span><a class="link link--styled" data-component="Link" href="/glossary/onion-glossary"><span class="ingredients-list__item-ingredient">onions</span></a><div class="ingredients-list__item-note"> finely chopped</div></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">2 </span><a class="link link--styled" data-component="Link" href="/glossary/garlic-glossary"><span class="ingredients-list__item-ingredient">garlic cloves</span></a><div class="ingredients-list__item-note"> sliced</div></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity auto-5876">1 </span><a class="link link--styled" data-component="Link" href="/glossary/carrots-glossary"><span class="ingredients-list__item-ingredient">carrot</span></a><div class="ingredients-list__item-note"> roughly chopped</div></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity auto-4920" data-id="97796">2 tbsp </span><span class="ingredients-list__item-ingredient">tomato purée</span></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">200ml </span><span class="ingredients-list__item-ingredient">white wine</span></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">3 x 400g cans </span><a class="link link--styled" data-component="Link" href="/glossary/tomato-glossary"><span class="ingredients-list__item-ingredient">chopped tomatoes</span></a></li><li class="ingredients-list__item list-item list-item--separator-top list-item--separator-bottom"><span class="ingredients-list__item-quantity">1 bunch of </span><a class="link link--styled" data-component="Link" href="/glossary/basil-glossary"><span class="ingredients-list__item-ingredient">basil</span></a><div class="ingredients-list__item-note"> leaves picked</div></li></ul></section><section><h3 class="ingredients-list__heading mb-sm mt-sm heading-5">For the white sauce</h3><ul class="ingredients-list list"><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">85g </span><a class="link link--styled" data-component="Link" href="/glossary/butter-glossary"><span class="ingredients-list__item-ingredient">butter</span></a></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">85g </span><a class="link link--styled" data-component="Link" href="/glossary/flour-glossary"><span class="ingredients-list__item-ingredient">plain flour</span></a></li><li class="ingredients-list__item list-item list-item--separator-top"><span class="ingredients-list__item-quantity">750ml </span><a class="link link--styled" data-component="Link" href="/glossary/milk-glossary"><span class="ingredients-list__item-ingredient">milk</span></a></li></ul></section><div class="pocket hidden-print ingredients-list__heading list-item--separator-top mt-xs pt-xs pocket--horizontal" data-placement="recipeBelowIngredients"><div class="d-flex"><div data-feature="promotionalWidget" data-feature-variant="promoLink"><div class="line-clamper"><div class="region-clamper line-clamper__content" style="line-clamp:3;-webkit-line-clamp:3">Keep the screen awake with cook mode on the<!-- --> <a class="link link--styled auto-3252" data-component="Link" data-id="82135" href="https://immediate.onelink.me/OQap?af_xp=custom&amp;pid=website&amp;c=ingredients_CTA&amp;is_retargeting=true&amp;af_reengagement_window=30d&amp;af_dp=bbcgoodfood%3A%2F%2F">Good Food app.</a></div></div></div></div></div></section></div><div class="d-none"><p class="recipe__nutritions-caption">Nutrition: per serving</p><ul class="nutrition-list"><li class="nutrition-list__item"><span class="nutrition-list__label">kcal</span>462</li><li class="nutrition-list__item"><span class="nutrition-list__label">fat</span>24<!-- -->g</li><li class="nutrition-list__item"><span class="nutrition-list__label">saturates</span>10<!-- -->g</li><li class="nutrition-list__item"><span class="nutrition-list__label">carbs</span>43<!-- -->g</li><li class="nutrition-list__item"><span class="nutrition-list__label">sugars</span>15<!-- -->g<div class="nutrition-list__additional-text">low<div class="nutrition-list__additional-text-icon"><i class="icon" style="width:12px;min-width:12px;height:12px;min-height:12px;animation-duration:1000ms;transform:rotate(180deg)"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:rgba(255, 255, 255, 1);fill:rgba(255, 255, 255, 1)"><use xlink:href="/static/icons/base/sprite-maps/arrows-1a005f7320611e9f728ab33e1967ce65.svg#arrow-light"></use></svg></i></div></div></li><li class="nutrition-list__item"><span class="nutrition-list__label">fibre</span>7<!-- -->g<div class="nutrition-list__additional-text">high<div class="nutrition-list__additional-text-icon"><i class="icon" style="width:12px;min-width:12px;height:12px;min-height:12px;animation-duration:1000ms"><svg aria-hidden="true" class="icon__svg auto-8793" focusable="false" style="color:rgba(255, 255, 255, 1);fill:rgba(255, 255, 255, 1)"><use xlink:href="/static/icons/base/sprite-maps/arrows-1a005f7320611e9f728ab33e1967ce65.svg#arrow-light"></use></svg></i></div></div></li><li class="nutrition-list__item"><span class="nutrition-list__label">protein</span>12<!-- -->g</li><li class="nutrition-list__item"><span class="nutrition-list__label">salt</span>0.4<!-- -->g<div class="nutrition-list__additional-text">low<div class="nutrition-list__additional-text-icon"><i class="icon" style="width:12px;min-width:12px;height:12px;min-height:12px;animation-duration:1000ms;transform:rotate(180deg)"><svg aria-hidden="true" class="icon__svg" focusable="false" style="color:rgba(255, 255, 255, 1);fill:rgba(255, 255, 255, 1)"><use xlink:href="/static/icons/base/sprite-maps/arrows-1a005f7320611e9f728ab33e1967ce65.svg#arrow-light"></use></svg></i></div></div></li></ul></div></div>
<!-- FRAGMENT SEPARATOR -->
<section class="method-steps mb-lg" data-placement="MethodList" style="outline-offset: 2px; outline: rgb(74, 144, 226) solid 3px;"><h2 class="method-steps__heading heading-3" style="outline-offset: 2px;">Method</h2><ul class="method-steps__list"><li class="method-steps__list-item" style="outline-offset: 2px;"><h3 class="method-steps__item-heading heading-5">step 1</h3><div class="editor-content"><p>To make the tomato sauce, heat the olive oil in a saucepan. Add the onions, garlic and carrot. Cook for 5-7 mins over a medium heat until softened. Turn up the heat a little and stir in the tomato purée. Cook for 1 min, pour in the white wine, then cook for 5 mins until this has reduced by two-thirds. Pour over the chopped tomatoes and add the basil leaves. Bring to the boil then simmer for 20 mins. Leave to cool then whizz in a food processor. <em>Will keep, cooled, in the fridge</em> <em>for up to three days or frozen for three months.</em></p><div class="ad-placement" data-count="536"></div></div></li><li class="method-steps__list-item"><h3 class="method-steps__item-heading heading-5">step 2</h3><div class="editor-content"><p>To make the white sauce, melt the butter in a saucepan, stir in the plain flour, then cook for 2 mins. Slowly whisk in the milk, then bring to the boil, stirring. Turn down the heat, then cook until the sauce starts to thicken and coats the back of a wooden spoon. <em>Will keep, cooled, in the fridge</em> <em>for up to three days or frozen for three months.</em></p><div class="ad-placement" data-count="888"></div></div></li><li class="method-steps__list-item"><h3 class="method-steps__item-heading heading-5">step 3</h3><div class="editor-content"><p>Heat the oven to 200C/180C fan/gas 6. Lightly oil two large baking trays and add the peppers and aubergines. Toss with the olive oil, season well, then roast for 25 mins until lightly browned.</p><div class="ad-placement" data-count="1086"></div></div></li><li class="method-steps__list-item"><h3 class="method-steps__item-heading heading-5">step 4</h3><div class="editor-content"><p aria-hidden="true" class="auto-5712">Reduce the oven to 180C/160C fan/gas 4. Lightly oil a 30 x 20cm ovenproof dish. Arrange a layer of the vegetables on the bottom, then pour over a third of the tomato sauce. Top with a layer of lasagne sheets, then drizzle over a quarter of the white sauce. Repeat until you have three layers of pasta.</p><div class="ad-placement" data-count="1393"></div></div></li><li class="method-steps__list-item"><h3 class="method-steps__item-heading heading-5">step 5</h3><div class="editor-content"><p>Spoon the remaining white sauce over the pasta, making sure the whole surface is covered, then scatter over the mozzarella and cherry tomatoes. Bake for 45 mins until bubbling and golden.</p><div class="ad-placement" data-count="1586"></div></div></li></ul></section>

Return a JSON object with these fields: type, name, description, author, prep_time, cook_time, total_time, servings, ingredients (array), instructions (array)
user
{
  "type": "recipe",
  "name": "Vegetarian lasagne",
  "description": "Make our easy vegetable lasagne using just a few ingredients. You can use ready-made tomato sauce and white sauce, or batch cook the sauces and freeze them",
  "author": "Good Food team",
  "prep_time": "25 mins",
  "cook_time": "1 hr and 10 mins",
  "total_time": "1 hr and 35 mins",
  "servings": "10",
  "ingredients": [
    "3 red peppers\ncut into large chunks\n2 aubergines\ncut into ½ cm thick slices\n8 tbsp olive oil\nplus extra for the dish\n300g lasagne sheets\n125g mozzarella\nhandful cherry tomatoes\nhalved\nFor the tomato sauce\n1 tbsp olive oil\n2 onions\nfinely chopped\n2 garlic cloves\nsliced\n1 carrot\nroughly chopped\n2 tbsp tomato purée\n200ml white wine\n3 x 400g cans chopped tomatoes\n1 bunch of basil\nleaves picked\nFor the white sauce\n85g butter\n85g plain flour\n750ml milk\n"
  ],
  "instructions": [
    "step 1\nTo make the tomato sauce, heat the olive oil in a saucepan. Add the onions, garlic and carrot. Cook for 5-7 mins over a medium heat until softened. Turn up the heat a little and stir in the tomato purée. Cook for 1 min, pour in the white wine, then cook for 5 mins until this has reduced by two-thirds. Pour over the chopped tomatoes and add the basil leaves. Bring to the boil then simmer for 20 mins. Leave to cool then whizz in a food processor. Will keep, cooled, in the fridge for up to three days or frozen for three months.\n\nstep 2\nTo make the white sauce, melt the butter in a saucepan, stir in the plain flour, then cook for 2 mins. Slowly whisk in the milk, then bring to the boil, stirring. Turn down the heat, then cook until the sauce starts to thicken and coats the back of a wooden spoon. Will keep, cooled, in the fridge for up to three days or frozen for three months.\n\nstep 3\nHeat the oven to 200C/180C fan/gas 6. Lightly oil two large baking trays and add the peppers and aubergines. Toss with the olive oil, season well, then roast for 25 mins until lightly browned.\n\nstep 4\nReduce the oven to 180C/160C fan/gas 4. Lightly oil a 30 x 20cm ovenproof dish. Arrange a layer of the vegetables on the bottom, then pour over a third of the tomato sauce. Top with a layer of lasagne sheets, then drizzle over a quarter of the white sauce. Repeat until you have three layers of pasta.\n\nstep 5\nSpoon the remaining white sauce over the pasta, making sure the whole surface is covered, then scatter over the mozzarella and cherry tomatoes. Bake for 45 mins until bubbling and golden.\n\n"
  ],
  "image_url": "https://media.immediate.co.uk/volatile/sites/30/2025/03/arrowoutward27dpBE2A77FILL0wght400GRAD0opsz24-d1f0d96.svg"
}
assistant