저는 두 개의 객체를 직렬화하고 이러한 객체의 배열을 반환하기 위해 JavascriptConverter와 함께 JavascriptSerializer를 사용하고 있습니다. 나는 다음과 같이 약간의 StringBuilder를 사용하여 배열을 만드는거야 :serialize 된 객체의 배열에 대한 json 빌드
JavaScriptSerializer TheSerializer = new JavaScriptSerializer();
TheSerializer.RegisterConverters(new JavaScriptConverter[] { new MyConverter()});
TheStringBuilder.Append("[");
TheStringBuilder.Append(TheSerializer.Serialize(FirstObject));
TheStringBuilder.Append("],[");
TheStringBuilder.Append(TheSerializer.Serialize(SecondObject));
TheStringBuilder.Append("]");
TheJsonToClient = TheStringBuilder.ToString();
직렬화 및 사용자 정의 변환 작업 벌금을 코드의 다른 부분에서 내가 사람들을 사용하고 클라이언트에 JSON.parse이 잘 작동하기 때문에 사물.
문제는 반환 문자열을 읽고 해당 클라이언트에서 JSON.parse
을 호출 할 때 구문 분석 중에 Unexpected Token
오류가 발생하여 클라이언트에서 deserialization이 실패합니다.
내가 arrray를 deserialize 할 때이 오류를 일으킬 수있는 인코딩에 무슨 문제가 있습니까?
의견을 보내 주셔서 감사합니다.
'내가 뭘 잘못하고 있니?'당신은 json을 형성하기 위해 StringBuilder를 사용하고 있습니다. –
@ L.B JSON을 올바르게 작성하는 한 손으로 JSON을 빌드하는 데는 아무런 문제가 없습니다. – cdhowie
@cdhowie 그게 문제 야. 많은 버그가 열려 있습니다 (질문에서와 같이) –