(save as .json)

>>>SHAPED (small):

{
    "type":"crafting_shaped",
    "pattern":[
        "AA",
        "BB"
        ],
    "key":{
        "A":{"item":"minecraft:grass"},
        "B":{"item":"minecraft:dirt"}
    },
    "result":{"item":"minecraft:grass_block","count":1}
}





>>>SHAPED (large):

{
    "type":"crafting_shaped",
    "pattern":[
        "###",
        "###",
        "###"
        ],
    "key":{
        "#":{"item":"minecraft:stick"}
    },
    "result":{"item":"minecraft:log","count":1}
}





>>>SHAPELESS
({"tag":"minecraft:wool"} will accept any wool, whereas {"item":"minecraft:wool"} will only accept white wool)

{
    "type":"crafting_shapeless",
    "ingredients":[
        {"tag":"minecraft:wool"}
    ],
    "result":{"item":"minecraft:string","count":4}
}