@moonsoon Автор модуль не обновляет, поэтому я решил совместимую с BAS версией от 31.1.0 и выше, выложить версию модуля тут LegacyAI_0.16_BAS31_ASYNC_SCOPE_FIX.zip
скорее это делаю для себя, чтобы всегда иметь под рукой дистриб модуля)
@AngelOfAncient said in JSON:
@Oyasumi-Punpun Интересно, а каким образом ребята генерят JSON?
Если задача именно не парсить его, а нагенерить.
Скажем, из БД или из Эксельки)
... Ну кроме как вручную?
Может какой NPM есть расхожий)
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
https://learn.javascript.ru/json
@AngelOfAncient Посмотри как тут сделано https://community.bablosoft.com/topic/3521/лайфхаки-bas/60 и делай по аналогии
@AngelOfAncient Посмотри как тут сделано https://community.bablosoft.com/topic/3521/лайфхаки-bas/60 и делай по аналогии
А что именно так сделано? Куда смотреть? :)
@AngelOfAncient В коде node.js json формируется
@serrgo @AngelOfAncient упорно не хотите прочитать ссылки, что вам дали?
https://community.bablosoft.com/post/104041
Здравствуйте.
Пытался через модуль JSON (в 24.1.0) получить значение userAgent:

В ответ - пусто!
Пришлось получать userAgent через действие "Выполнить код":
var json = JSON.parse([[FINGERPRINT]])
[[NAVIGATOR_USERAGENT]] = json.attr['navigator.userAgent']
Предположу, что модуль не умеет работать с ключами с точкой или я чего-то не знаю.
@Fox Можно вопрос от чайников не совсем по BAS, но по теме ветки?
[[OBJ]].colors.push("NAME") - я генерю список из строк.
И в конечном JSON они у меня будет идти под номерами 1, 2, 3 и т.п.
А как мне передать пару "Ключ" - "Значение" через push ()?
Например, [[OBJ]].colors.push("GROUP_NAME": "Киш")?
@AngelOfAncient said in JSON:
[[OBJ]].colors.push("GROUP_NAME": "Киш")
Горшок жив!
[[OBJ]].colors.push({"GROUP_NAME":"Киш"})
@Fox А если тоже самое делать через переменные, выходит что-то странное. Например:
[[A1_OBJ]].colors.push({[[ALL_MATCH]] : [[FIRST_LIST_ELEMENT]]})
Выдаёт вот такое:

То есть вместо значения первой переменной он записывает в массив VAR_Имя_Переменной. Хотя и то, и другое - это строки.
@AngelOfAncient said in JSON:
@Fox А если тоже самое делать через переменные, выходит что-то странное. Например:
[[A1_OBJ]].colors.push({[[ALL_MATCH]] : [[FIRST_LIST_ELEMENT]]})Выдаёт вот такое:
То есть вместо значения первой переменной он записывает в массив VAR_Имя_Переменной. Хотя и то, и другое - это строки.
Должно работать и так, ну попробуйте не использовать сахар
[[A1_OBJ]].colors.push({VAR_ALL_MATCH:VAR_FIRST_LIST_ELEMENT})
var obj = {}
obj[ [[ALL_MATCH]] ] = [[FIRST_LIST_ELEMENT]]
[[A1_OBJ]].colors.push(obj)
@AngelOfAncient said in JSON:
@Fox Так работает, спасибо. Интересно, почему не работало напрямую, но самое главное, что так работает.
а оно и не должно было работать, а я забыл :D, ну в ES6 можно было бы записать проще через квадратные скобки