두 앱간에 데이터를 보내는 데 문제가 있습니다. 이 코드를 사용하여 데이터를 C #의 JSON으로 직렬화합니다.
public static string SerializeToJson<T>(this T obj)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, obj);
byte[] array = ms.ToArray();
return Encoding.UTF8.GetString(array, 0, array.Length);
}
그런 다음 소켓 통신을 사용하여 TypeScript로 구현 된 두 번째 응용 프로그램에 이것을 보냅니다. 다음을 사용하여 역 직렬화합니다.
JSON.parse
함수가 잘 작동하지만 데이터에 8211 '–'와 같은 특수 문자가 있으면 예외가 발생합니다.
SyntaxError: Unexpected token in JSON at position 907
serialize 및 deserialize를 사용하는 다른 인코딩에 문제가있을 수 있지만 JSON.parse에서 어떤 인코딩이 사용되는지 모르겠습니다.
누구든지 나를 도울 수 있습니까?
내 문자열을 base64로 변환하여이 문제를 해결 한 다음 두 번째 응용 프로그램에서 디코딩합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다