У меня есть некоторые данные, которые будут использоваться для генерации SQL, поэтому важно, какие текстовые разделители используются (одинарные кавычки «ограничивают строковый литерал», но двойные кавычки "разграничить идентификаторы, по крайней мере, в Oracle DB)Сохранять текстовые разделители после !! str «некоторый текст» или !! str «некоторый текст»
Для процедуры нагрузки генератора я использовал этот
someKey: !!str 'Some SQL text'
и ожидается, что someKey будет содержать всю строку, включая одинарные кавычки:.. 'Some SQL text'
Однако js-yaml.safeLoad() interp rets данные как Some SQL text
, который не то, что я хотел.
Обходной легко, я могу поставить буквальным в дополнительные кавычки:
someKey: "'Some SQL text'"
который дает ожидаемый результат. Тем не менее, я не совсем уверен, почему в этом случае нам нужен! Str-тег в YAML, если он фактически ничего не делает (он полезен только для явных букв интерпретации, true, false и null), и на самом деле это почти то же самое, что и ставя двойные кавычки вокруг текста.
Я бы предпочел опубликовать это в каком-нибудь форуме, посвященном YAML-spec, но, похоже, его нет.
Помимо стандартного обходного пути, есть ли какой-либо трюк, который будет делать то, что я изначально хотел, т. Е. Интерпретировать любое содержимое после ключа объекта как строку (+ обрезание любых начальных и конечных пробелов) без использования двойных кавычек?
Причины, почему мне нужно это: –
Причиной, почему мне это нужно: - ключевой объекта является именем выходного столбца (псевдоним) - значение представляет собой выражение, которое должно быть присвоено этому столбцу. Теперь строительство, как это: колонок: «ПОЛНЫЙ» означает, что я хочу Asign строковой константы 'FULL' в колонке' column' в то время как колонка: ПОЛНЫЙ следует интерпретировать как «присвоить значение идентификатора ПОЛНОГО в колонку' столбец ", где FULL может быть столбцом, переменной, функцией и т. д. К сожалению, спецификация YAML интерпретирует оба из них как ** FULL **, что в некотором смысле является потерей информации, в данном случае значимой. –
Существует список рассылки yaml и обратите внимание, что [so] не является форумом, а сайтом Q & A. – Anthon