- Add McJson.pas into project
- Add mcjson into uses clause
- Add variable and assign it as TMcJsonItem (ie: var js : tmcjsonitem; )
- Create the variable (ie: var := TMcJsonItem.create(); )
- free the variable when not in use
var
Form1: TForm1;
js : TMcJsonItem;
procedure TForm1.FormShow(Sender: TObject);
begin
js := TMcJsonItem.create();
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
js.Free;
end;
Add into json variable
Js.Add('key1').AsInteger := 1;
Js.Add('key2').AsBoolean := True;
Js.Add('key3').AsNumber := 1.234;
Js.Add('key4').AsString := 'value 1';
// add an array
Json.Add('array', jitArray);
for i := 1 to 3 do Js['array'].Add.AsInteger := i;
Check if a key exist
if js.HasKey('key1') then MessageDlg('Key found');
To update value of key
if js.HasKey(key) then begin
js.Delete(key);
js.Add(key).AsString := value;
end;
To get value of key
ShowMessage(js.Values[key].AsString);
Parsing line break solution
js.add(key).asstring := stringreplace(value,slinkbreak,' ',[rfreplaceall]);
Check if a string is a valid json
try
js.asjson := '{"i": 123, "f": 123.456, "s": "abc", "b": true, "n": null}';
except
showmessage('not valid json');
end;
Display the whole json string
showmessage(js.asjson);
More info at https://github.com/hydrobyte/McJSON