728x90
상당히 간단한 기능이고 자료도 제법 있는데 내 델파이 버전 탓인지 사람들이 알려주는 함수가 파라미터가 다르거나 아예 없거나.. 겨우겨우 했다
이 글은 델파이 2010 버전으로 작성되었습니다
uses
DBXJSON; //필수 추가
procedure jsonparsing(jsondata : string);
var
JSonObject:TJSonObject;
JSonPair : TJSONPair;
JsonString: string;
JsonKey, JsonValue : string;
begin
jsondata := '{"Name":"kim","age":"34"}'; //http통신으로 이와 같은 데이터를 수신했다고 가정하고
jsondata := StringReplace(jsondata, #10 , '', [rfReplaceAll, rfIgnoreCase]); //행넘김 제거
//바이트 형식으로 데이터를 넘겨서 json object 생성(디버깅으로 object가 nil이 아닌것 확인)
JSonObject := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(jsondata),0) as TJSONObject;
JSonPair := JSonObject.Get(0); //0번은 name , 1번은 age
JsonKey := JSonPair.JsonString.Value; //name
JsonValue := JSonPair.JsonValue.Value; //kim
//JSonObject length로 for문을 돌며 key를 탐색 가능..
end;
// 2중 3중인 json은 jsonArray라는걸 써야 하는데 다른 분 블로그 참고..
728x90
'운동하는 개발자 > Delphi' 카테고리의 다른 글
델파이 DBXJSON를 이용한 json 생성 / how to make json at delphi (DBXJSON) (0) | 2021.08.17 |
---|---|
델파이 idhttp 에러메세지 내용 확인 / idhttp error message (0) | 2021.07.06 |
델파이 중복 실행 (델파이 다중 실행 IDE 두개 켜기) (0) | 2021.06.16 |
델파이 폼에서 파일 드래그앤드롭 / delphi Drag and Drop (0) | 2021.06.03 |
delphi, lazarus 동작시간 계산 (0) | 2021.04.23 |