Ryan Kwon 9월 17일, 2021에 포스트됨 공유하기 9월 17일, 2021에 포스트됨 (edited) AnsiString Content = RESTResponse1->Content; TJSONObject *ContentObject = new TJSONObject(); ContentObject->ParseJSONValue(TEncoding::ASCII->GetBytes(Content), 0); AnsiString stdOut = ContentObject->Get("stdout")->ToString(); Content를 정상적으로 수신했지만, JSON Object에서 "stdout" 항목을 Get할 시 KERNELBASE.dll에서 Access violation이 발생합니다. Embarcadero DocWiki, Stack Overflow등을 참고하여 수정해보았지만 문제가 해결되지 않아 질문드립니다 ㅜ.ㅜ Edited 9월 17일, 2021 by Ryan Kwon 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 험프리 9월 28일, 2021에 포스트됨 공유하기 9월 28일, 2021에 포스트됨 TRESTResponse 컴포넌트로 받은 JSON 문자열 중 필요한 항목의 값을 취득하는 방법을 문의하신 것으로 이해합니다. TRESTResponse 컴포넌트는 수신받은 JSON 문자열(RESTResponse1->Content)도 있지만, TJSONValue 타입의 JSONValue 객체도 제공합니다. JSONValue 객체를 통해 필요한 값을 취득 할 수 있습니다. On 2021. 9. 17. at 오후 4시 51분, Ryan Kwon said: {"stdout":"SGVsbG8gV29ybGQhCg==\n","time":"0.003","memory":70488,"stderr":null,"token":"fb4da198-a9bf-4fa2-b07f-ec65f4c35dc7","compile_output":null,"message":null,"status":{"id":3,"description":"Accepted"}} 등록해주신 JSON 문자열 기준으로 코드를 작성하면 다음과 같습니다. #include "System.JSON.hpp" TJSONValue *JSONValue = RESTResponse1->JSONValue; ShowMessage(JSONValue->GetValue<String>("stdout")); (테스트한 샘플도 첨부합니다. 해당 샘플은 C++ Builder 11.0 알렉산드리아로 작성되었습니다.) RADServerCppSample.zip 다음 엠바카데로 DocWiki(기술문서)에서 관련된 내용을 참고하실 수 있습니다. JSON Object Framework System.JSON.TJSONValue.GetValue 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 험프리 9월 17일, 2021에 포스트됨 공유하기 9월 17일, 2021에 포스트됨 24 분 전, Ryan Kwon said: AnsiString Content = RESTResponse1->Content; Content에 어떤 문자열이 포함되어 있는지 샘플 문자열을 등록해 주시면, 테스트 가능할 것 같습니다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 Ryan Kwon 9월 17일, 2021에 포스트됨 Author 공유하기 9월 17일, 2021에 포스트됨 {"stdout":"SGVsbG8gV29ybGQhCg==\n","time":"0.003","memory":70488,"stderr":null,"token":"fb4da198-a9bf-4fa2-b07f-ec65f4c35dc7","compile_output":null,"message":null,"status":{"id":3,"description":"Accepted"}} 위 텍스트가 AnsiString-type variable에 담겨있습니다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 김원경 9월 24일, 2021에 포스트됨 공유하기 9월 24일, 2021에 포스트됨 위의 코드가 좀 이상한것 같습니다. ContentObject->ParseJSONValue(TEncoding::ASCII->GetBytes(Content), 0); 이 코드에서 함수의 리턴 값을 assign 하는 부분이 없네요. 정확한 확인을 위해서 코드를 좀 확인해 주시고 다시 코드를 보내주십시오. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 Ryan Kwon 9월 24일, 2021에 포스트됨 Author 공유하기 9월 24일, 2021에 포스트됨 구글에서 찾은 예시 코드를 베이스로 작성하였습니다. 위의 코드로 작성하였고, ContentObject 객체에 넣어주는 과정이라고 생각하였습니다. 제가 원하는 결과는 RESTResponse1->Content의 stdout을 parse하는것 입니다. 도움을 받을 수 있을까요? 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 Ryan Kwon 10월 2일, 2021에 포스트됨 Author 공유하기 10월 2일, 2021에 포스트됨 해결되었습니다. 도움 감사드립니다 🙏🙏 1 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
질문
Ryan Kwon
Content를 정상적으로 수신했지만, JSON Object에서 "stdout" 항목을 Get할 시 KERNELBASE.dll에서 Access violation이 발생합니다.
Embarcadero DocWiki, Stack Overflow등을 참고하여 수정해보았지만 문제가 해결되지 않아 질문드립니다 ㅜ.ㅜ
이 댓글 링크
다른 사이트에 공유하기
6 answers to this question
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.