Попробуйте это:
tuplelist_to_string(L) ->
tuplelist_to_string(L,[]).
tuplelist_to_string([],Acc) ->
lists:flatten(["[",
string:join(lists:reverse(Acc),","),
"]"]);
tuplelist_to_string([{X,Y}|Rest],Acc) ->
S = ["{\"x\":\"",X,"\", \"y\":\"",Y,"\"}"],
tuplelist_to_string(Rest,[S|Acc]).
Тогда:
1> X = [{"alpha","beta"},{"gamma","theta"}].
[{"alpha","beta"},{"gamma","theta"}]
2> io:format("~s~n",[test:tuplelist_to_string(X)]).
[{"x":"alpha", "y":"beta"},{"x":"gamma", "y":"theta"}]
ok