2016-10-03 2 views
1

В настоящее время я работаю над веб-сайтом и делаю некоторые вещи JS. Я довольно новичок в этой теме, поэтому, пожалуйста, извините, если мой вопрос глупо :)Удалить линии с w o r n

У меня есть строка JSON с некоторыми разрывами строк, однако я не могу разобрать ее в объект JSON (из-за разрывов строк) - так что мне нужно, чтобы удалить их и уже пробовали его с помощью

stringJSON.replace(/(\r\n|\r|\n)+/, ''); 

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

Есть ли у вас какие-либо предложения?

Спасибо заранее,

Wiwi :)

JSON:

[ 
    { 
     "key0": "value 0", 
     "key1": "value 1", 
     "key2": "value 2" 
    }, 
    { 
     "key0": "value 0", 
     "key1": "value 1", 
     "key2": "value 2" 
    } 
] 
+3

* «Я не могу разобрать его в объект JSON» * Если у вас есть действительный JSON, тогда он может быть проанализирован. Вместо «исправления» JSON в ретроспективе вы должны сгенерировать действительный JSON для начала. –

+0

Это мой JSON, это неправильно? оо [ \t { \t \t "key0": "значение 0", \t \t "ключ1": "Значение 1", \t \t "ключ2": "значение 2" \t}, \t { \t \t "key0": "значение 0", \t \t "ключ1": "значение 1", \t \t "ключ2": "значение 2" \t} ] –

+0

JSON может содержать абсолютно новую строку. Как вы пытаетесь его разобрать и какую ошибку вы даете? – Amy

ответ

1

Вы должны присвоить результат необходимости замены переменной stringJSON если то, что вы на самом деле означает сделать, чтобы обновить переменная stringJSON.

stringJSON = stringJSON.replace(/(\r\n|\r|\n)+/g, ''); 

Replace не меняет исходную строку, потому что строки неотменяемы в Javascript.

Примечание: Глобальный флаг в регулярном выражении (g) позволяет ему соответствовать более одного раза. Без этого флага будет заменен только первый разрыв строки.

+0

Вижу, но это не работает. Предупреждение по-прежнему показывает разрывы строк, и консоль сообщает мне ошибку в позиции lb ... –

+1

В любом случае это неправильный подход к решению проблемы. Более надежно генерировать действительный JSON для начала. –

+0

Я не понимал сначала, что конечные строки не должны влиять на результат, они действительны JSON. Извините за быстрый ответ, я также принял правду Dominic, которая была более точной. – jorgonor

Смежные вопросы