Well, by looking at your example I assumed only Username and Password fields are referring to variables (or properties). File name looked constant. My bad.
I will have to think over if we could loop through files from a directory. Another workaround would be having four fields in CSV or excel.
Ex:
UserName Password FileName File
TestUser1 Test123 JSON1.txt C://TestUser//JsonFiles//JSON1.txt
TestUser2 Test345 JSON2.txt C://TestUser//JsonFiles//JSON2.txt
TestUser3 Test678 JSON3.txt C://TestUser//JsonFiles//JSON3.txt
Load this data into data-source and then use same groovy script to build json payload.
Regards,