Присвоить пустой массив массиву JSON с нулевым значением

1

Поэтому я в настоящее время адаптирую графический интерфейс на основе python для веб-графического интерфейса, основанного на javascript. Программа отправляет большие сообщения JSON на какой-либо сервер для обработки. Сервер получает сообщения, в которых некоторые значения задаются так:

"someVar": []

Тем не менее, я не знаю, как отправить это таким же образом из моего собственного графического интерфейса в javascript. Мои решения приводят к следующему:

"someVar": null

Серверу это не нравится, но я не могу найти способ назначить пустой массив без его отказа по умолчанию.

Объект начинается так:

{
  var1: null
  var2: "someString"
  var3: 1.3
  ...
}

когда сервер получает это, он обычно распечатывает

{
  var1: []
  var2: "someString"
  var3: 1.3
  ...
}

так что скажем, что этот объект хранится в переменной curConfig

Я хочу сделать что-то вроде этого:

curConfig['var1'] = []

Но это все равно оставляет меня с нулевым значением вместо [], когда он отправляется на сервер.

  • 0
    Почему вы не можете просто использовать [] в качестве начального значения массива, а затем вставлять в него новые элементы?
  • 0
    Разместите свой код, чтобы мы могли увидеть, как вы инициализируете объект, и объяснить, как его исправить.
Показать ещё 1 комментарий
Теги:
arrays

3 ответа

2
Лучший ответ

Если у вас есть большое количество 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);
0

Инициализируйте объект следующим образом:

{
  var1: [],
  var2: "someString",
  var3: 1.3,
  ...
}

Также,

curConfig.var1 = [];

должен работать, я не знаю, почему он не работает для вас.

0

Чтобы инициализировать пустой массив в javascript, просто напишите его как

var arr = [];

Пример для JSON

var obj = {
  arr: []
};
JSON.stringify(obj); // "{ "arr": [] }"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню