Поэтому я в настоящее время адаптирую графический интерфейс на основе python для веб-графического интерфейса, основанного на javascript. Программа отправляет большие сообщения JSON на какой-либо сервер для обработки. Сервер получает сообщения, в которых некоторые значения задаются так:
"someVar": []
Тем не менее, я не знаю, как отправить это таким же образом из моего собственного графического интерфейса в javascript. Мои решения приводят к следующему:
"someVar": null
Серверу это не нравится, но я не могу найти способ назначить пустой массив без его отказа по умолчанию.
Объект начинается так:
{
var1: null
var2: "someString"
var3: 1.3
...
}
когда сервер получает это, он обычно распечатывает
{
var1: []
var2: "someString"
var3: 1.3
...
}
так что скажем, что этот объект хранится в переменной curConfig
Я хочу сделать что-то вроде этого:
curConfig['var1'] = []
Но это все равно оставляет меня с нулевым значением вместо [], когда он отправляется на сервер.
Если у вас есть большое количество null
значений, которые вы хотите изменить на пустой массив при использовании JSON # stringify, вы можете использовать функцию replace (2nd param):
JSON.stringify(value[, replacer[, space]])
Функция получает ключ и значение, и вы можете решить, какое значение вы хотите вернуть.
var data = {
var1: null,
var2: "someString",
var3: 1.3
};
var reslut = JSON.stringify(data, function(key, value) {
if (value === null) {
return [];
}
return value;
});
console.log(reslut);
Инициализируйте объект следующим образом:
{
var1: [],
var2: "someString",
var3: 1.3,
...
}
Также,
curConfig.var1 = [];
должен работать, я не знаю, почему он не работает для вас.
Чтобы инициализировать пустой массив в javascript, просто напишите его как
var arr = [];
Пример для JSON
var obj = {
arr: []
};
JSON.stringify(obj); // "{ "arr": [] }"
[]
в качестве начального значения массива, а затем вставлять в него новые элементы?