scrap all that (factory and _factories.json), it's for an older version.
do have a condition in a recipe json file. the one you have up there will do fine.
make a class that implements ICondition.
getID() should return "uncrafted:spawner_enabled". test() should check options and enable/disable the recipe.
inside the condition class make a serializer class (yes inside, inner class, static) that implements IConditionSerializer<YourCondition>.
getID should return same as above; read should return an instance of your condition class. use json.getAsJsonPrimitive("value_or_flag_name_or_whatever") to get the setting name (if you use a single condition for several recipes); write should do the opposite of read - json.addProperty.
finally, register your condition in FMLCommonSetupEvent. call CraftingHelper.register and pass the serializer instance.
enjoy!