1

我正在创建一个带有 salesforce 集成的 iOS 应用程序。iOS 应用程序将通过 http 请求的正文向 salesforce 发送 JSON 数据。如何在 apex 中将正文作为 JSON 字符串获取?

谢谢

4

2 回答 2

3

像这样的东西(如果您是从 Apex 中进行调用,否则使用 Web 服务来捕获传入呼叫并以类似方式解析)。

准备您的 HTTP 请求对象:

// Prepare HTTP 
HTTPResponse hTTPRes;
HTTPRequest req = new HttpRequest();
req.setTimeout(120000);

设置您的端点:

req.setEndpoint(baseURL + callName + '?' + parameterString);

进行标注:

HTTP http = new HTTP();
String body;
hTTPRes = http.send(req);
body = hTTPRes.getBody();

调用 JSON 解析器并解析结果:

// Invoke JSON parser 
JSONParser parser = System.JSON.createParser(body);

// Parse JSON response to get individual field values.
while(parser.nextToken() != null)
{
   if((parser.getCurrentToken() == JSONToken.FIELD_NAME) && (parser.getText() == 'yourfield')) 
      // store values as you walk the JSON
}
于 2012-07-06T17:03:36.190 回答
0

您可以在 salesforce.com 中实现一个简单的 REST Web 服务,这非常简单,并且内置了对 JSON 或 XML 消息的支持。查看 APEX 文档的以下页面: http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_rest_methods.htm
此集成的复杂部分是身份验证。无论您使用 REST 还是 SOAP,您都需要一个有效的会话 ID 来进行身份验证。这可以通过调用标准 Web 服务 API 的登录操作或使用更适合 REST 方法但可能相当复杂的 OAuth 来完成。另一个专门针对 iOS 开发的集成选项是 Simon Fell 的 zksForce 框架,它提供了与标准 salesforce.com Web 服务 API 交互的可靠方法: GitHub 上的 zkSforce

于 2012-07-06T07:49:39.873 回答