## Step 1: Define the symbolic representation of the problem
The problem involves two variables: 'chicken drumsticks' and 'kiwis', which we can denote as $x_1$ and $x_2$ respectively. The objective function to minimize is $1x_1 + 8x_2$. The constraints are:
- $1.86x_1 + 8.95x_2 \geq 60$ (at least 60 grams of fiber from both),
- $1.86x_1 \geq 60$ (at least 60 grams of fiber from chicken drumsticks),
- $8.95x_2 \geq 60$ (at least 60 grams of fiber from kiwis, but this seems to be a misunderstanding since the problem states "from chicken drumsticks, and kiwis"),
- $-8x_1 + 10x_2 \geq 0$ (linear constraint),
- $1.86x_1 + 8.95x_2 \leq 139$ (at most 139 grams of fiber).

## 2: Correct and clarify the constraints based on the problem description
Upon closer inspection, it seems there might have been a confusion in interpreting the constraints. The problem states:
- There are constraints on fiber from chicken drumsticks and kiwis combined and individually but correctly understood, we have:
  - $1.86x_1 + 8.95x_2 \geq 60$,
  - The individual constraints for chicken drumsticks and kiwis to provide at least 60 grams seems misplaced as per the exact wording but we'll consider $1.86x_1 \geq 60$ and $8.95x_2 \geq 60$ for completeness,
  - $-8x_1 + 10x_2 \geq 0$,
  - $1.86x_1 + 8.95x_2 \leq 139$.

## 3: Formulate the symbolic representation
Given $x_1$ for 'chicken drumsticks' and $x_2$ for 'kiwis', the objective function is $x_1 + 8x_2$. The constraints in symbolic form are:
- $1.86x_1 + 8.95x_2 \geq 60$,
- $1.86x_1 \geq 60$,
- $8.95x_2 \geq 60$,
- $-8x_1 + 10x_2 \geq 0$,
- $1.86x_1 + 8.95x_2 \leq 139$.

## 4: Convert to Gurobi code
```python
import gurobi

# Define the model
model = gurobi.Model()

# Define the variables
x1 = model.addVar(name="chicken_drumsticks", lb=0)  # Assuming non-negative
x2 = model.addVar(name="kiwis", lb=0)  # Assuming non-negative

# Objective function
model.setObjective(x1 + 8 * x2, gurobi.GRB.MINIMIZE)

# Constraints
model.addConstr(1.86 * x1 + 8.95 * x2 >= 60, name="fiber_min")
model.addConstr(1.86 * x1 >= 60, name="chicken_drumsticks_min")
model.addConstr(8.95 * x2 >= 60, name="kiwis_min")
model.addConstr(-8 * x1 + 10 * x2 >= 0, name="linear_constraint")
model.addConstr(1.86 * x1 + 8.95 * x2 <= 139, name="fiber_max")

# Optimize
model.optimize()

# Print solution
if model.status == gurobi.GRB.OPTIMAL:
    print("Objective: ", model.objVal)
    print("Chicken drumsticks: ", x1.varValue)
    print("Kiwis: ", x2.varValue)
else:
    print("No solution found")
```

## 5: Provide the symbolic representation in the required format
```json
{
    'sym_variables': [('x1', 'chicken drumsticks'), ('x2', 'kiwis')],
    'objective_function': 'x1 + 8x2',
    'constraints': [
        '1.86x1 + 8.95x2 >= 60',
        '1.86x1 >= 60',
        '8.95x2 >= 60',
        '-8x1 + 10x2 >= 0',
        '1.86x1 + 8.95x2 <= 139'
    ]
}
```