나는 JSON.parse 는 개행 문자
'[{"Name":"Eggs","Complete":false,"Notes":"Notes here\n"},{"Name":"Sugar","Complete":false,"Notes":null}]'
를 사용하여 JSON 문자열 다음 구문 분석하려고 페이지를하지만, 다음 코드는
var groceriesJson = JSON.parse(jsonString);
"Uncaught SyntaxError: Unexpected token"
가 그럼 난에 와서 오류를 준다 탈출 Json.Parse 그것 때문에 알고있는 그것의 \n
json 문자열에. 그래서 나는 this solution을 시도했다. 그러나 운이 없다. 여전히 같은 오류 "Uncaught SyntaxError: Unexpected token"
function escapeSpecialChars(jsonString) {
return jsonString.replace(/\\n/g, "\\n")
.replace(/\\'/g, "\\'")
.replace(/\\"/g, '\\"')
.replace(/\\&/g, "\\&")
.replace(/\\r/g, "\\r")
.replace(/\\t/g, "\\t")
.replace(/\\b/g, "\\b")
.replace(/\\f/g, "\\f");
}
var groceriesJson = JSON.parse(escapeSpecialChars(jsonString));
아이디어가 있습니까? 감사합니다
는는 --- UPDATE ---- 내가 수동으로이 문자열을 생성하고 있지 않다
, 나는 C#을에서 JSON 문자열을 생성 C#을 코드가 자바 스크립트 코드에 다음
var jss = new System.Web.Script.Serialization.JavaScriptSerializer();
var groceries = jss.Serialize(Model);
오브젝트 I
이
var jsonString = '@Html.Raw(groceries)'
var groceriesJson = JSON.parse(escapeSpecialChars(jsonString));
JSON을 JavaScript에 문자열 리터럴로 포함하려는 이유는 무엇입니까? 그냥 배열 리터럴로 사용하고 수동 구문 분석 단계를 건너 뜁니다. – Quentin
그게 작동합니다. 답변을 게시 할 수 있다면 답변으로 표시하겠습니다. 감사합니다 – sanjeev