傳遞一個包含JSON的NSString JSON到一個Javascript方法I有一個要求,其中objective C code should
消耗WebService
和JSON format
接收的響應具有作爲參數傳遞給用於進一步處理javascript
方法傳遞。我使用UIWebView
這將顯示處理JSON response.
的問題出現後,相應的結果,當我嘗試通過JSON字符串Javascript
method.Javascript方法不是簡單地接受輸入。如何從目標C方法
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
NSString *responseString = [[NSString alloc] initWithBytes:[resultData bytes] length:[resultData length] encoding:NSUTF8StringEncoding];
NSLog(@"%@",responseString);
[self returnResponseToJavaScriptMethods:responseString];
}
-(void)returnResponseToJavaScriptMethods:(NSString*)theResponse{
[viewMainWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"retrieveServerResponse('%@')",theResponse]];
}
有什麼我錯過了?簡單的字符串使用相同的方法正確傳遞。
UPDATE: 編碼responseData
到UTF8StringEncoding
的伎倆。
[theResponse stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]
非常感謝您的suggestion.It工作就像一個charm.But需要清理被轉換爲一個適當的JSON response.That是給現在我們與轉義字符填充字符串我另一個頭痛。請在評論中提及,如果你知道一種方法來完美顛倒JavaScript中的編碼。 –
我不知道它是否「完美」,但是您是否嘗試過使用unescape()函數?它應該工作,只是'UNESCAPE(your_escaped_json_string)' – uvesten
我改變了我的編碼approach.I剛剛編碼/使用Base64編碼解碼。 –