Как создать json JavaScript для цикла?

Если вы работаете на компьютере с Linux x64, вам, вероятно, не хватает некоторых необходимых библиотек. Официальное руководство SDK гласит:

Необходимые библиотеки для 64-разрядных компьютеров:

Если вы работаете в 64-разрядной версии Ubuntu, вам нужно установить некоторые 32-битные библиотеки с помощью следующей команды:

sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 lib32bz2-1.0

Если вы работаете с 64-битной Fedora, команда:

sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686

Конечно, не забудьте сначала

sudo apt-get update

.

96
задан Brett DeWoody 23 July 2017 в 15:14
поделиться

4 ответа

Насколько я понимаю из вашего запроса, это должно работать:

<script>
//  var status  = document.getElementsByID("uniqueID"); // this works too
var status  = document.getElementsByName("status")[0];
var jsonArr = [];

for (var i = 0; i < status.options.length; i++) {
    jsonArr.push({
        id: status.options[i].text,
        optionValue: status.options[i].value
    });
}
</script>
169
ответ дан 24 November 2019 в 05:35
поделиться
var sels = //Here is your array of SELECTs
var json = { };

for(var i = 0, l = sels.length; i < l; i++) {
  json[sels[i].id] = sels[i].value;
}
41
ответ дан 24 November 2019 в 05:35
поделиться

Если вам нужен один объект JavaScript, например, следующий:

{ uniqueIDofSelect: "uniqueID", optionValue: "2" }

(где параметр 2, «Отсутствует», является текущим выбором) тогда следующий код должен создать его:

  var jsObj = null;
  var status = document.getElementsByName("status")[0];
  for (i = 0, i < status.options.length, ++i) {
     if (options[i].selected ) {
        jsObj = { uniqueIDofSelect: status.id, optionValue: options[i].value };
        break;
     }
  }

Если вам нужен массив всех таких объектов (а не только выбранный), используйте код Майкла , но замените status.options [i]. текст для status.id .

Если вам нужна строка , содержащая JSON-представление выбранного объекта, используйте вместо этого:

  var jsonStr = "";
  var status = document.getElementsByName("status")[0];
  for (i = 0, i < status.options.length, ++i) {
     if (options[i].selected ) {
        jsonStr = '{ '
                  + '"uniqueIDofSelect" : '
                  + '"' + status.id + '"'
                  + ", "
                  + '"optionValue" : '
                  + '"'+ options[i].value + '"'
                  + ' }';
        break;
     }
  }
8
ответ дан 24 November 2019 в 05:35
поделиться

Ваш вопрос довольно сложно расшифровать, но я попытаюсь ответить на него.

Вы говорите:

Я хочу создать объект json с двумя полями uniqueIDofSelect и optionValue в javascript.

И затем вы говорите:

Мне нужен вывод типа

  [{"selectID": 2, "optionValue": "2"},
{"selectID": 4, "optionvalue": "1"}]

Что ж, в этом примере выходных данных нет поля с именем uniqueIDofSelect , есть только optionValue .

В любом случае, вы запрашиваете массив объектов ...

Затем в комментарии к ответу Майклза вы говорите:

Он создает массив объектов json. но мне нужен только один объект json.

Значит, вам не нужен массив объектов?

Что вам тогда нужно?

Примите решение.

0
ответ дан 24 November 2019 в 05:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: