[英]malformed json in iOS from salesforce
在iOS中,我調用了Salesforce上托管的rest資源:
@HttpPost
global static String getEmail(String app, String BorrowerId, String BorrowerName) {
System.debug('hit the web service');
System.debug(app);
System.debug(BorrowerId);
System.debug(BorrowerName);
JSONGenerator gen = JSON.createGenerator(true);
gen.writeStartObject();
gen.writeStringField('email', 'woohoo');
gen.writeEndObject();
String jsonString = gen.getAsString();
System.debug(jsonString);
return jsonString;
}
返回的jsonString在其中:{“ email”:“ woohoo”}
如調試日志所示。 但是,當我嘗試在iOS中收到此響應時:
- (void)request:(SFRestRequest *)request didLoadResponse:(id)jsonResponse
{
NSLog(@"json response: %@", jsonResponse);
NSString *retString = [NSString stringWithFormat:@"%@", jsonResponse];
NSLog(@"records: %@", retString);
}
我收到錯誤:警告錯誤,解析json:錯誤域= NSCocoaErrorDomain代碼= 3840“操作無法完成。(可可錯誤3840。)”(JSON文本不是以數組或對象開頭,並且選項允許未設置片段。)UserInfo = 0xcbaf230 {NSDebugDescription = JSON文本不是以數組或對象開頭,並且沒有允許設置片段的選項。}
我也嘗試在Salesforce中返回一個對象,但是返回了相同的錯誤。 如何將數據作為NSString讀回?
謝謝
讓Web服務返回地圖。
@HttpPost
global static Map<String, String> getEmail(String app, String BorrowerId, String BorrowerName) {
System.debug('hit the web service');
System.debug(app);
System.debug(BorrowerId);
System.debug(BorrowerName);
Map<String, String> emailData = new Map<String, String>{'email' => 'woohoo'};
return emailData;
}
這使您可以將響應視為NSDictionary
- (void)request:(SFRestRequest *)request didLoadResponse:(id)jsonResponse {
NSString *emailString = [jsonResponse objectForKey:@"email"];
NSLog(@"email: %@", emailString);
}
POST請求應保留用於創建記錄,因此您可以考慮將其作為GET重新進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.