The first problem is that quotation marks tells where a string start and ends. So if you have quotation marks in your string, there is no way for Construct to say if this now ends or starts a string or if this a normal character. You need an escape character for this that tells construct the handle the next character as an ordinary character. In Construct it is again a quotation mark, that means if you want a quotation mark in you string you have to make two of them "".
Your Tilemap String should look like that:
"{""c2"":true,""w"":{""x"":0,""y"":0,""w"":640,""h"":480,""l"":9381438636563842,""zi"":0,""hX"":0,""hY"":0},""data"":{""w"":20,""h"":15,""d"":""21x9,0,3x1,2,2x9,12,8x9,15,3x9,3,2x4,17,5,5x9,0,7x1,2,9,3,16,2x4,5,5x9,3,6x4,16,5,9,3,3x4,5,4x9,15,3,4x4,10,7,11,5,9,6,3x7,8,5x9,3,2x4,17,4,5,9,3,5,5x9,2x-1,9,15,2x9,3,4x4,13,1,14,5,3x9,0,1,7x-1,7x7,8,9,15,9,3,2x-1,2x4,-1,5,9,5x-1,2x9,15,4x9,3,-1,4x4,3x-1,1,2x-1,3x1,2,4x9,3,-1,3x4,16,5,9,3x-1,4,16,2x4,5,4x9,3,9x-1,5x4,5,4x9,3,4,17,3x4,5,9,3,2x-1,2x4,17,4,5,4x9,6,5x7,8,9,3,4,17,4x4,5,8x9,15,3x9,6,6x7,8,9""}}"
You can use notepad for example to replace " to "".
Another way is you put the string you got from toJSON to a string variable and use this variable in set from JSON string, then without quotation marks on the beginning and the end for a string.
Your second problem is that you confuse download with load. Download is like from any website that you save something from the web to your PC. What you want is Load.