列をループして Json オブジェクトを動的に作成する必要があります。そのため、空の json オブジェクトを宣言してから、要素を動的に追加します。
例えば:
List<String> columns = new List<String>{"FirstName","LastName"};
var jsonObj = new {};
for(Int32 i=0;i<columns.Count();i++)
jsonObj[col[i]]="Json" + i;
最終的な json オブジェクトは次のようになります。
jsonObj={FirstName="Json0", LastName="Json1"};