Minecraft wiki entry for VillagerBase, associated text:  Gossips: Pieces of gossip that can be exchanged between villagers when they meet.
A piece of gossip.
 Value: The strength of the gossip.
for major_negative: weight -5, max 100, +25 if the villager sees you kill another villager, -10 every 20min, -10 when shared
for minor_negative: weight -1, max 200, +25 when hit, -20 every 20min, -20 when shared
for major_positive: weight 5, max 100, +20 when cured, does not decrease and never shared
for minor_positive: weight 1, max 200, +25 when cured, -1 every 20min, -5 when shared
for trading: weight 1, max 25, +2 per trade, -2 every 20min, -20 when shared
 Target The UUID of the player who caused the gossip, stored as four ints.
 Type: An ID value indicating the type of gossip. The possible values are major_negative, minor_negative, major_positive, minor_positive, and trading.
 Offers: Is generated when the trading menu is opened for the first time.
 Recipes: List of trade options.
A trade option.
 buy: The first 'cost' item, without the Slot tag.
Tags common to all items[show]
 buyB: Optional. The second 'cost' item, without the Slot tag.
Tags common to all items[show]
 demand: The price adjuster of the first 'cost' item based on demand. Updated when a villager resupply.
 maxUses: The maximum number of times this trade can be used before it is disabled. Increases by a random amount from 2 to 12 when offers are refreshed.
 priceMultiplier: The multiplier on the  demand price adjuster; the final adjusted price is added to the first 'cost' item's price.
 rewardExp: 1 or 0 (true/false) – Whether this trade provides XP orb drops. All trades from naturally-generated villagers in Java Edition reward XP orbs.
 sell: The item being sold for each set of cost items, without the Slot tag.
Tags common to all items[show]
 specialPrice: A modifier added to the original price of the first 'cost' item.
 uses: The number of times this trade has been used. The trade becomes disabled when this is greater or equal to maxUses.
 xp: How much experience the villager gets from this trade.
 VillagerData: Information about the villager’s type, profession, and level.
 level: The current level of this villager's profession. Influences the trading options generated by the villager. If it is greater than their profession's maximum level, no new offers are generated. Increments when the villager fills his trading xp bar. Also used for badge rendering.
1: Novice
2: Apprentice
3: Journeyman
4: Expert
5: Master
 profession: A resource location indicating the villager's profession; see Villager § Villager profession.
 type: A resource location indicating the villager's type; see Villager § Villager type.
 Xp: How much experience the villager currently has, increases with trading in various amounts.
0 to 9: Novice
10 to 69: Apprentice
70 to 149: Journeyman
150 to 249: Expert
250 and more: Master