我是Delphi的新手,现在我学习了。 我有这种和平的代码。效果很好。
procedure TForm2.Button1Click(Sender: TObject);
var
jValue : TJSONValue;
JsonArray: TJSONArray;
begin
RESTRequest1.Execute;
jValue := RESTResponse1.JSONValue;
// Ist this the right way? --> JsonArray := TJSonObject.ParseJSONValue(jValue.ToString) as TJSONArray;
MemoContent.Lines.Add('Zitat des Tages:');
MemoContent.Lines.Add(jValue.ToString);
end;
输出为以下JSON字符串:
Zitat des Tages:\n
{"951":{"zitat":"\nWo ein Wille ist, ist auch ein Holzweg.\n\n","autor":"André Brie"},"timestamp":"2020 09 03 19:21:36"}
现在,我想解析JSON对象,以便将备忘录的zitat写成备忘录。但是我不知道那样做。我已经读了很多东西,但是我不知道将我的字符串放入数组然后解析为元素。
有没有小费或一些帮助?
感谢帮助。
答案 0 :(得分:2)
此代码可能会完成您需要的解析:
uses System.JSON;
procedure TForm1.Button1Click(Sender: TObject);
JSonData : String;
JSonObject : TJSonObject;
JSonValue : TJSonValue;
Zitat : String;
begin
JSonData := '{"951":{"zitat":"\nWo ein Wille ist, ist auch ein Holzweg.\n\n","autor":"André Brie"},"timestamp":"2020 09 03 19:21:36"}';
JSonObject := TJSonObject.ParseJSONValue(JSonData) as TJSonObject;
try
JSonValue := JSonObject.Get('951').JSONValue;
Zitat := JSonValue.GetValue<string>('zitat');
finally
JSonObject.Free;
end;
ShowMessage(Zitat);
end;
您应该添加更多测试以处理JSON数据格式错误或不包含所需数据的情况。