Показать сообщение отдельно
  #15 (permalink)  
Старый 24.07.2024, 10:02
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от ptihka
поместить в select , в ключах "Name0-NameN" хранятся названия сетей которые нашел контроллер в ключах "дБм0" хранится их мощность сигнала, "Nomber":"3" количество найденных сетей
Вот пара вариантов. Первый с твоими данными, второй с моим вариантом - массивом.

<select id='tmp1'></select>
<select id='tmp2'></select>

<script>
// Твой вариант данных
const str1 = '{"Nomber":"3","Name0":"ptihka","дБм0":"-69дБм","Name1":"ptihka","дБм1":"-50дБм","Name2":"DOM_YHOME","дБм2":"-71дБм"}'
const obj = JSON.parse(str1)
for (let i = 0; i < +obj.Nomber; i++) {
	const o = document.createElement('option')
	o.value = obj['дБм' + i]
	o.textContent = obj['Name' + i]
	tmp1.insertAdjacentElement('beforeend', o)
}

// Мой вариант данных
const str2 = '[{"Name":"ptihka","дБм":"-69дБм"},{"Name":"ptihka","дБм":"-50дБм"},{"Name":"DOM_YHOME","дБм":"-71дБм"}]'
const arr = JSON.parse(str2)
arr.forEach(obj => {
	const o = document.createElement('option')
	o.value = obj['дБм']
	o.textContent = obj.Name
	tmp2.insertAdjacentElement('beforeend', o)
})
</script>


Сообщение от ptihka
но как мне массив передать на страничку с ESP8266 не понимаю , или обработать JSON строку в массив ? Но я как раз и не могу обработать ее в JS.
Вот в моем примере (втором) я тебе все показал...
Ответить с цитированием