频道分类

Delphi JSON字符串转义

作者:admin 来源: 日期:2019/10/29 17:54:46 人气: 标签:

 
创建一个函数,将接收到的字符串转换为TJSONObject并显示它。

uses
  System.JSON;

procedure Print(const JSONStr: string);
var
  JSONValue: TJSONValue;
  JSONObj: TJSONObject;
  JSONPair: TJSONPair;
begin
  JSONValue := TJSONObject.ParseJSONValue(JSONStr);
  if JSONValue = nil then
    ShowMessage('解析失敗。')
  else
  begin
    JSONObj := JSONValue as TJSONObject;
    try
      for JSONPair in JSONObj do
        ShowMessage(JSONPair.JsonString.Value + '=' + JSONPair.JsonValue.Value);
    finally
      JSONObj.Free;
    end;
  end;
end;
如果字符串中没有“ \”,则它可以正常工作。

procedure TForm1.Button1Click(Sender: TObject);
const
  JSONStr = '{"Delphi":"Object Pascal", "C++Builder":"C++"}';
begin
  Print(JSONStr);
end;
如果字符串中有“ \”,则解析失败。

procedure TForm1.Button2Click(Sender: TObject);
const
  JSONStr = '{"name":"C:\Windows", "age":"33"}';
begin
  Print(JSONStr);
end;