I would go one step further and suggest that if you plan to do any type of queries on the data, storing it as JSON is probably the worst possible choice. The reason for that is that T-SQL has no support for JSON (at least until SQL 2016, and even then, from what I know, it is going to be limited support, and it is not going to be very efficient).
A table with 4,500,000 rows is really not very large in terms of what SQL Server can handle. My recommendation would be that you parse the Json data during the import process and store them in relational tables.
All of what I said is theoretical, and generalities. What would work best for you in your specific situation depends on your data, and how you plan to use it.