2016-10-03 5 views
1

현재 웹 사이트에서 일하고 있으며 일부 JS 작업을하고 있습니다. 나는이 주제에 상당히 익숙하다. 내 질문에 어리 석다면 변명해라.줄 바꿈을 제거하지 않고 r n

줄 바꿈으로 JSON 문자열이 있는데, 줄 바꿈 때문에 JSON 개체로 구문 분석 할 수 없다. 그래서 나는 그들을 제거 할 필요가 이미 나는 줄 바꿈이 여전히 포함 된 문자열에 경고를 할 때,이 작동하지 않습니다

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

를 사용하여 시도했다.

의견이 있으십니까? 사전에

감사합니다,

Wiwi :

JSON : 당신이 정말 할 말은 경우이 (가) stringJSON 변수에 교체의 결과를 할당해야합니다

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

* "JSON 개체로 구문 분석 할 수 없습니다."* 유효한 JSON이 있으면 구문 분석 할 수 있습니다. 되돌아 보는 JSON을 "고정"하는 대신, 유효한 JSON을 생성해야합니다. –

+0

# JS 내 JSON이 맞습니까? 각종 [ \t { \t \t "쪽에 KEY0": "0 값" \t \t "KEY1": "값 1" \t \t "키 2": "값 2" \t} \t { \t \t "쪽에 KEY0": "0 값" \t \t "KEY1": "값 1" \t \t "키 2": "값 2" \t} ] –

+0

JSON 절대적 바꿈을 포함 할 수있다. 당신은 그것을 어떻게 파싱하려고합니까, 그리고 그것은 당신에게 어떤 오류를 줍니까? – Amy

답변

1

업데이트하는 것입니다 stringJSON 변수

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

문자열은 자바 스크립트에서 불변하므로 바꾸기는 원래 문자열을 변경하지 않습니다.

참고 : 정규식 (g)의 전역 플래그는 두 번 이상 일치 할 수 있습니다. 해당 플래그가 없으면 첫 번째 줄 바꿈 만 바뀝니다.

+0

알 겠지만 작동하지 않습니다. 경고는 여전히 줄 바꿈을 표시하고 콘솔은 나에게 Lb 위치에서 오류를 알려줍니다 ... –

+1

이것은 어쨌든 문제를 해결하는 잘못된 방법입니다. 유효한 JSON을 생성하는 것이 더 안정적입니다. –

+0

끝선이 결과에 영향을주지 않아야한다는 사실을 처음에는 깨닫지 못했지만 유효한 JSON입니다. 신속한 답변을 드려 죄송합니다. 더 정확했던 Dominic 편집도 수락했습니다. – jorgonor

관련 문제