Your question is a bit confusing. Which code are you really using and which fails with the large data set?
Sending a List<t> to the View doesn't serialize anything to JSON. It's just an object passed to the Razor view engine when the Razor code is executed to generate the HTML for the returned page.
You'd use JSON to return an object back to the client, normally for a data request, not a page request.
I'll tell you that the default allowable length of a JSON return string is 102,400 characters. You can change that in a couple of ways. The easiest (and global) way to do that for your entire application is to add a setting to your web.config file:
<configuration>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483644" />
</webServices>
</scripting>
</system.web.extensions>
</configuration>
The other method is to just set the MaxJsonLength property of the serializer you created, which you say you've already done.
Now, if you're still getting that error message, it's because your generated JSON string is greater than MaxJsonLength. In your example, that would be a JSON string greater than 2 GIGABYTES in size. Sending that much data back to the client is a horrible idea.