我正在为复杂的应用程序编写一个模块,我的模块应该处理由 Web 服务器返回的 json 响应。所以,我的问题是如何解码这种文本:

\u041f\u043e\u0438\u0441\u043a \u043f\u043e \u0444\u0430\u043c\u0438\u043b\u0438\u0438, \u0438\u043c\u0435\u043d\u0438 (\u043e\u0442\u0447\u0435\u0441\u0442\u0432\u0443

它是西里尔文文本,Mozilla Firefox 会按原样显示它。我该如何处理那些家伙?我在 Delphi 2010 上。

最佳答案

您可以使用 Delphi 2010 中包含的 DBXJSON 单元

uses
 DBXJSON;

const
JsonUt8  ='"\u041f\u043e\u0438\u0441\u043a \u043f\u043e \u0444\u0430\u043c\u0438\u043b\u0438\u0438, \u0438\u043c\u0435\u043d\u0438 (\u043e\u0442\u0447\u0435\u0441\u0442\u0432\u0443"';

procedure TForm59.Button1Click(Sender: TObject);
var
  LJSONValue: TJSONValue;
begin
  LJSONValue:=TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(JsonUt8),0);
  Edit1.Text:=LJSONValue.ToString;
end;

关于json - Delphi解码json/utf8转义文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9713491/

10-09 05:34