Hi JL.... The current version of the JSON plugin is very strict in regards to consistencies in the fields. The fields defined in the layout need to match the same order as the fields in the input source. In addition, the "Generate Fields" button in a Layout will only check the first record for the fields to add. If subsequent records in the input source have different or additional fields, those fields will also need to be manually added to the Layout.
There are plan to enhance the JSON plugin to be more forgiving to field order, however, there is no set time frame as of right now on when that will be available.