@zied ben hmida, I'll take this one as I added the JSON function to TI myself as well. Unfortunately that 64KiB (minus a couple of bytes) limit for strings plays a role in a while bunch of places and everywhere in TI where you, directly or indirectly, dealing with strings as well. The JSON functions are no exception here, the JSON passed in/out/around is still a string under the covers and as such, apart from not the most efficient, are limited to 64KiB as well. Typically that will suffice if used in combination with a JSON data source as in that case the individual values for each of the fields can each be up to 64KiB in size (read: every record can be bigger then that as long as the values you map variables to are not), but for building/handling large JSON documents yourself that limit might still be an issue.
Work arounds, when working with ExecuteHttpRequest specifically, would be to use a file to which you write too/read from as a data source once again. ExecuteHttpRequest for every request that returns a response allows you to put that response in a file instead of returning it in a string. Might help in cases where the response is not one big JSON document for example but some form of concatenated JSON which subsequently can be used as a JSON data source again. Equally you can use a file as the content for a request as opposed to a string variable. Using that pattern you can write whatever much you want to a file and then subsequently use that file in a ExecuteHttpRequest as the content.
One of these days we'll not only lift that limitation on string size (I'm hoping) but also make JSON more native to the (improved) TI language at which point the size of the JSON document shouldn't matter any longer either;-)
Oh, and the getting the text for the rules as I showed in my earlier comment is a good example how to get past that 64KiB limit to begin with ;-)