0
나는 프로젝트를 진행하고

을 크롬하지 그리고 내가 dijitConfig =은 구문 에러를 수신 : 예기치 않은 토큰/Webstorm에서 JSON이 아니라

"\r\n{\r\n \"getStationUrl\" : \"http://localhost:6080/arcgis/rest/services/testcenterline/MapServer/exts/StationLocator/GetStation\",\t\r\n\t\"tolerance\" : 5,\r\n\t\"getStationInterval\" : 1\r\n}\n//# sourceURL=http://localhost:63342/StationLocator/Main/StationLocator%20JSAPI/Source/StationLocator%20JSAPI/js/StationLocatorConfig.js" 
어떤 이유

try {this.set("config", JSON.parse(dijitConfig));} 

전화

다음 한 Chrome을 통해 앱을 실행하면 오류없이 앱이 실행되며 다음 예외가 발생합니다.

왜이 JSON은 Chrome에서는 유효하지만 Webstorm에서는 유효하지 않습니까? 나는 dijitConfig는 자바 스크립트 객체가 아닌 문자열 인 경우 HTML5/인 ECMAScript 5 Settings->Languages & Frameworks->JavaScript->Libraries

+1

위에 표시된 JSON의 문자열 버전에만 148 자의 문자가 있습니다. 오류가 실제로 던져지고있는 개체입니까? (위치 180이 없음). –

+0

@Josh Beam 내 사과, 수정 된 붙여 넣기를 참조하십시오 – Rice

답변

0

에서 사용할 수있는 Webstorm에

참고 JSON.parse()이 실패합니다. 문자열 만 개체로 구문 분석 할 수 있습니다.

이 AJAX 요청을로드하는 경우 Accept 헤더가 올바르지 않을 수 있으며 서버가 잘못된 형식을 반환 할 수 있습니다. 나는 Firefox에서 AJAX 요청이 구체적으로 헤더를 application/json으로 설정하도록 요구 한 적이있다.

0

유효하지 않은 JSON입니다. 나는이 작업을 수행 할 때 예를 들어, :

JSON.parse("\r\n{\r\n \"getStationUrl\" : \"http://localhost:6080/arcgis/rest/services/testcenterline/MapServer/exts/StationLocator/GetStation\",\t\r\n\t\"tolerance\" : 5,\r\n\t\"getStationInterval\" : 1\r\n}\n//# sourceURL=http://localhost:63342/StationLocator/Main/StationLocator%20JSAPI/Source/StationLocator%20JSAPI/js/StationLocatorConfig.js") 

내가 얻을 : StationLocatorConfig.js:7 Uncaught SyntaxError: Unexpected token/in JSON at position 179.

구성이 유효한 JSON인지 확인해야합니다. JSON linter을 사용해보세요.

+0

JSON.parse 호출로 Linter에 이것을 삽입 했으므로 원시 JSON 문자열 뿐이므로 유효한 – Rice

+0

@ Rice로보고합니다. 문자열은 유효하기 때문입니다 문자열. 그러나 구문 분석 된 객체를 붙여 넣으면 유효하지 않음을 알 수 있습니다. –