자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi XE8 JSON통신 오류
2021.03.10 09:28
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
JSON을 이용하여 전문통신을 하는 프로그램인데 델파이6에서는 잘 되는데
XE8로 컨버젼 해서 사용하면 수신하는 쪽에서 전송데이타가 깨져서 들어온다고 하는데
원인이 무엇 일까요 도움 부탁드립니다.
* 소스 첨부 했습니다.
Delphi XE8 JSON통신 오류
2021.03.10 09:28
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
JSON을 이용하여 전문통신을 하는 프로그램인데 델파이6에서는 잘 되는데
XE8로 컨버젼 해서 사용하면 수신하는 쪽에서 전송데이타가 깨져서 들어온다고 하는데
원인이 무엇 일까요 도움 부탁드립니다.
* 소스 첨부 했습니다.
이전 버전에서는 유니코드를 사용하지 않았고 2009이후에는 유니코드를 사용하기 때문에 유니코드 utf8로 인코딩하셔야 합니다.
아래는 각각 통신이나 , json데이터를 처리하는 예문입니다.
1. TStringStream 으로 json데이터 처리하기
begin
rec_data := TStringStream.Create(hochul, TEncoding.UTF8);
JSON := TJSONObject.ParseJSONValue(rec_data.DataString) as TJSONObject;
try
Memo1.Lines.Add(JSON.ToString);
for I := 0 to JSON.Size - 1 do
Memo1.Lines.Add(JSON.Get(I).JsonString.Value + ' : ' + JSON.Get(I).JsonValue.Value);
finally
JSON.Free;
FreeAndNil(rec_data);
end;