Я пытаюсь преобразовать строку в JSON в javascript и отправить строку в элемент textarea HTML. Строка из бэкэнда выглядит следующим образом:
"customBar_query": "select\\n\\neq.Name,\\nAVG(Payload) as [Average Payload]\\n\\nfrom tbl.Cycles as c\\nleft join dim.Equipment as eq on eq.Id = c.Truck_Id\\nwhere c.Timestamp_Loading >= DATEADD(day,-365,GETDATE())\\n\\nGROUP BY eq.Name\\n\\nORDER BY [Average Payload] DESC"
Строка "\\n"
должна быть допустимым представлением новой строки.
Я анализирую строку следующим образом:
var newChartData = JSON.parse(data);
Результирующая строка Javascript выглядит следующим образом:
customBar_query: "select\n\neq.Name,\nAVG(Payload) as [Average Payload]\n\nfrom tbl.Cycles as c\nleft join dim.Equipment as eq on eq.Id = c.Truck_Id\nwhere c.Timestamp_Loading >= DATEADD(day,-365,GETDATE())\n\nGROUP BY eq.Name\n\nORDER BY [Average Payload] DESC"
Пока все хорошо. Все в порядке. Однако при просмотре объекта в Инструментах разработчика я не вижу обычного символа «ввода», обозначающего новую строку. При присвоении этого значения текстовой области с помощью jquery .val () текст отображается со строкой «\ n» и, очевидно, без настоящих новых строк, как показано ниже:
select \ n \ neq.Name, \ nAVG (Payload) as [Average Payload] \ n \ nот tbl.Cycles as c \ nleft join dim.Equipment as eq on eq.Id = c .Truck_Id \ nwhere c .Timestamp_Loading> = DATEADD (day, -365, GETDATE ()) \ n \ nGROUP BY eq.Name \ n \ nORDER BY [Средняя полезная нагрузка] DES C
Я просто не могу понять, что здесь происходит . Он не должен действовать таким образом, и я действительно не понимаю, почему он это делает. Мы будем благодарны за любые советы!
ОБНОВЛЕНИЕ
См. Ниже фрагмент из Chrome Developer Tools, чтобы показать, что строка \ n не отображается как ввод "символ