Многострочная строка как значение в Json

Учитывая это Json

{
"myclass": {
    "studentname": "myname",
    "description": "Student has three more credits to complete\n
    he is taking maths\ n
    biology this semester "
 }
}

Я получаю исключение парсера Json для «описания» в jsonlint. Изменение описания для принятия массива - не вариант для меня.

Есть ли способ определить многострочность в Json?

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
1
0
11 464
1

Ответы 1

\n - единственный способ. JSON - это не язык программирования, и вы не можете указать ему объединять строку. Это тоже зависит от контекста.

Это будет работать

{
    "myclass": {
        "studentname": "myname",
        "description": "Student has three more credits to complete\nhe is taking maths\nbiology this semester"
     }
}

так не пойдет

{
    "myclass": {
        "studentname": "myname",
        "description": "Student has three more credits to complete\n
                        he is taking maths\n
                        biology this semester"
     }
}

Редактор JSON также выдает ошибку. В строковых литералах не может быть буквальных разрывов строки.

Felix Kling 11.12.2018 00:21

На самом деле нет, это просто сохранение, открытие и вставка этого JSON туда. Ошибок нет.

Oen44 11.12.2018 00:22

Когда я вставляю его, правая сторона не обновляется, поэтому я должен предположить, что он не работает, даже если он явно не показывает ошибку.

Felix Kling 11.12.2018 00:23

Нажмите кнопку со стрелкой вправо. Это не автоматическое обновление.

Oen44 11.12.2018 00:24

Понятно ... но неважно, что делает редактор. Ошибка при загрузке ясно показывает, что JSON.parse не нравится, поэтому не может быть валидным. Спецификация JSON также говорит «Пробелы не допускаются ни в одном токене, кроме пробелов в строках».

Felix Kling 11.12.2018 00:27

Что ж, давайте тогда рассмотрим 2-й пример как неработающий.

Oen44 11.12.2018 00:28

У меня очень длинная строка, и запись ее в одну строку с \ n делает ее очень неуклюжей. Есть ли другой способ сделать это?

Anuram 11.12.2018 00:31

@Anuram Как насчет того, чтобы сделать это по-своему, а затем изменить каждую структурную строку на \n и передать эту строку как значение JSON?

Oen44 11.12.2018 00:39

Другие вопросы по теме