Существует функция std.toString
, которая может вам понадобиться. Например, std.toString(["a", "b", "c", "d"])
приводит к строке ["a", "b", "c", "d"]
. Это немного отличается от вашего примера вывода "a", "b", "c", "d"
.
Если вы хотите иметь именно тот формат, который вам нужен, вы, конечно, можете создать строку самостоятельно. Наиболее очевидным способом является написание рекурсивной функции (так вы итерируете в Jso nnet):
local arrayToString(arr) =
local aux(arr, index) =
// Assuming escapeStringJson is how you want to serialize
// the elements. Of course you can use any other way
// to serialize them (e.g. toString or manifestJson).
local elem = std.escapeStringJson(arr[index]);
if index == std.length(arr) - 1 then
elem
else
elem + ", " + aux(arr, index + 1)
;
aux(arr, 0);
arrayToString(["a", "b", "c", "d"])
Более идиоматическим способом c было бы использование map для преобразования всех элементов массива и затем присоединитесь, чтобы объединить их в одну строку:
local arrayToString(arr) = std.join(", ", std.map(std.escapeStringJson, arr));
arrayToString(["a", "b", "c", "d"])