Delphi解码json / utf8转义文本 [英] Delphi decode json/utf8 escaped text

查看:2668
本文介绍了Delphi解码json / utf8转义文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

  \\\П\\\о\\\и\ u0441\\\к \\\п\\\о \\\ф\\\а\\\м\\\и\\\л\\\и\\\и,\\\и\\\м\\\е\\\н\\\и(\ u043e\\\т\\\ч\\\е\\\с\\\т\\\в\\\у 

这是西里奇文本,Mozilla Firefox显示它应该是这样的,我如何处理这些人?我在Delphi 2010。

解决方案

您可以使用 DBXJSON 单元,其中包含在Delphi 2010中

 使用
DBXJSON;

const
JsonUt8 ='\\\П\\\о\\\и\\\с\\\к \\\п\\\о \\\ф\\\а\\\м\\\и\\\л\\\и\\ u0438,\\\и\\\м\\\е\\\н\\\и(\\\о\\\т\\\ч\\\е\\\с\\\т\\\в\\\у';

程序TForm59.Button1Click(发件人:TObject);
var
LJSONValue:TJSONValue;
begin
LJSONValue:= TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(JsonUt8),0);
Edit1.Text:= LJSONValue.ToString;
结束


I'm writing a module for complicated application and my module should process json response, returned by web server. So, my issue is about how can I decode such kind of text:

\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

It's cyrillic text and Mozilla Firefox displays it as it should be. How can I process that guys? I'm on Delphi 2010.

解决方案

You can use the DBXJSON unit which is included in Delphi 2010

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;

这篇关于Delphi解码json / utf8转义文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆