델파이 json 예제

많은 레거시 시스템은 Delphi의 이전 버전에 갇혀 있기 때문에 개발자들은 수십 년 전에 설계되지 않은 작업을 수행하는 데 어려움을 겪고 있습니다. 내 경우, 내가 작업하는 프로젝트는 델파이 6에 기록되어 있으며, 내가 직면한 도전은 JSON 메시지를 구문 분석하는 것입니다. 이 코드는 믿을 수 없을만큼 간단한 JSON 데이터 청크에서 작동하지만 데이터가 조금 더 복잡하면 완전히 떨어집니다. 나는 거기에 몇 가지 괜찮은 예가 있었으면 좋겠다. TJSONObject.Parse()는 구문 분석이 실패하면 -1을 반환합니다. 엠바카데로의 예는 해당 조건을 확인하지 않습니다. TJSONObject.ParseJSONValue() 구문 분석이 실패하면 nil 포인터를 반환합니다. 엠바카데로의 예는 해당 조건을 확인하지 않습니다. 구문 분석이 실패하면 연산자로 인해 발생하는 “잘못된 형식 캐스트” 오류가 설명됩니다. Delphi JSON 사용자 정의 구성 요소: https://github.com/pglowack/DelphiJSONComponents Delphi의 이후 버전에서 레코드에도 런타임 형식 정보 (RTTI)가 있다는 것을 이해합니다. 그러나 Delphi 6에서는 위에서 설명한 대로 개체를 사용하거나 내 레코드에 텍스트 기반 형식 정의를 사용해야했습니다 (이 항목은 자체 기사가치가 있습니다). 이 작업을 위해 용도 목록에 djson.pas 파일을 포함하십시오. 이 코드를 매우 심층적인 json 구문 분석에 사용했습니다.

아마도 당신이 코멘트에 어려움을 겪고있는 json을 포함? Synopse mORMot 프레임 워크는 델파이의 이전 버전과 호환되는 강력한 오픈 소스 프레임 워크이며 ORM을 갖춘 자체 호스팅 RESTful API를 만들 수 있습니다. 그러나 mORMot의 이점을 누리기 위해 전체 기능을 사용할 필요는 없습니다. 사실, 나는 JSON과 함께 일하기위한 루틴을 내 상황에서 특히 도움이되는 것으로 나타났습니다. 여기서 볼 수 있는 것은 JSON에 캡슐화된 책의 여러 속성의 예입니다. 각 데이터 조각은 이름 및 값 쌍으로 표시되며 콜론으로 구분됩니다. 토마서랑/델피-json의 신작에 대한 알림을 원하십니까? 이제 JSON 데이터를 빌드하고 사용하는 예제가 있으며, 앞으로 나아가 객체를 공고할 수 있습니다. 지금까지 세 가지 JSON 구조, 개체, 쌍 및 배열을 보았습니다. 델파이와 C++ 빌더는 각각 `TJSONObject`, `TJSONPair`, `TJSONArray`라는 이름의 해당 클래스를 가지고 있습니다. 다음 샘플에서는 이 세 클래스를 사용하여 방금 살펴본 JSON 샘플을 구성합니다. Delphi 또는 C++ 빌더를 선택하여 새 응용 프로그램을 시작하고 기본 양식에 버튼과 메모를 놓습니다. (VCL 또는 FMX는 괜찮습니다, 나는 VCL을 사용하고 있습니다) JSON에 대한 소개및 라드 스튜디오 델파이 또는 C ++ 빌더 내에서 사용.

[업데이트] 델파이와 RESTful 서비스 클라이언트를 구축하고 PHP를 사용하여 RESTful JSON 서비스를 구축하는 더 완전한 예를 들어, 내 “잔인하게 자신의 백 엔드를 롤”비디오 시리즈를 체크 아웃! {“책”:[{“제목”:”젠”,”자막”:”그리고 오토바이 유지 보수의 예술”,”저자”:”로버트 M Pirsig”,”isbn”:”9780061908019″},”제목”:”델파이에서 코딩”:”,”””””,”저자”:”닉 Hodges”,””,”닉 호지스”,”,”,”978″,””,”,”,”,”978″,””,”,”,”닉 호지스”,””,”978″,””,”,”978″”,””,”,”,”,978″”,””,”,”,”,”,”,”,”,”닉 호지스”,”,”978″제목”:”오토바이 유지 보수의 예술”,”로버트 M Pirsig”,”,},”제목”:”델파이에서 코딩”,”””,”닉 호지스”,”978″,””978″”,””978″”,””,”,”,”,”,”,”,”,”,”,”,”,”,”,”,”,”,”,”닉 호지스”,”978″,””,978″,”” 이 버전은 델파이 XE3, 델파이 XE 6 (안드로이드) 및 델파이 10에서만 테스트되지만 제네릭 및 TStringHelper를 지원하는 모든 델파이 버전에서 작동해야합니다. 나중에 살펴보겠습니다. 현재 개체 “book”이 중괄호 내에 이미 동봉되어 있기 때문에 중첩의 예를 이미 볼 수 있으며, 이름없는 객체이지만 외부 중괄호도 객체로 간주 될 수 있습니다. 이 개체는 내에 있는 다른 개체를 포함하기 위해 존재해야 합니다. 거기 밖으로 다른 델파이 JSON 파서 를 좋아하지 않았다. 그들은 내가 JSON에 대해 가지고 있던 간단한 작업에 너무 복잡해 보였습니다. RAD Studio 10 “시애틀”은 JSON 문서 작업을 위한 많은 새로운 기능을 소개합니다. 이 데모 지향 세션에서는 메모리를 적게 필요로 하고 더 나은 성능을 제공하는 JSON을 읽고 생성하는 새로운 방법을 배웁니다.

Shares

Posted on 2nd August 2019 in Uncategorised

Share the Story

About the Author

Back to Top
Shares