Delphi DataSnap框架向JSON消息添加内容

前端之家收集整理的这篇文章主要介绍了Delphi DataSnap框架向JSON消息添加内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Delphi XE DataSnap REST服务器并尝试返回 JSON序列化对象.我的方法返回到客户端的结果如下所示:
{"type":"ServerMethodsUnit1.TJSONIssue","id":1,"fields":{
           "FIssueNo":90210,"FTitle":"Beverly Hills...that''s where I want to be","FKind":"Wishlist"
          }
}

格式良好的JSON.

问题是,当客户端收到消息时,会添加一些东西,它看起来像这样:

{"result": ["{\"type\":\"ServerMethodsUnit1.TJSONIssue\",\"id\":1,\"fields\":{
                          \"FIssueNo\":90210,\"FTitle\":\"Beverly Hills...that's where I want to be\",\"FKind\":\"Wishlist\"}
             }
            "
           ]
}

我得到了一堆反斜杠字符和前面的“结果”标签.

我想知道是否有人知道为什么我会得到这些额外的东西以及如何摆脱它.

解决方法

您发布的JSON会显示返回字符串而不是JSONObject的远程方法的结果.
返回JSONObject的正确方法应该是以下(未编译/测试):
function TMyRemote.GetSomething: TJSONValue;
begin
  Result := TJSONObject.Create;
  Result.Add("Name","Daniele Teti"); //used the overloaded version of add (string,string)
end;

现在json应该是正确的.结果字符串中的RESULT元素是按设计的.您可以读取结果数组的第一个元素并获取原始JSONObject.

原文链接:https://www.f2er.com/delphi/239313.html

猜你在找的Delphi相关文章