How Can I generate a data dictionary which contains the data types of a Json file. The data dictionary should be generated from a CSV file of sample data.
You can not get all the types from a csv or json file.

Lets check the following example:

asd;3534;0674;slfo


What are the types? The third column with the value 0674 contains a string or an integer, decimal, float or what? Has that leading 0 any meaning? If so, it should be a string/character data.

The case is similar with the JSON files: Dates are stored as strings in those files (for example), you can not determine what its type. There should be values in a sample data which seems to be valid dates, but what is those values are some kind of category identifiers or generated identifiers (2014-01-24 could be for example 'marketing campaign' (id = 01) in the year 2014 for the partner with id of 24).

Conclusion: you can get a prediction from sample data, but you have to determine the real type manually (or at least revise the predictions). You have to 'add' the business meaning to the determination process -> you have to know what does that data mean to determine the data type required to store that data.

Also please note, that the RFC of the CSV files is not determines the "string identifier" character. It could or could not wrap the string with '"' or any other characters.