Я сейчас кодирую его таким образом, но накладные расходы огромны.
NSString* json = /* can be anything, but also garbage */
NSString* json_escaped = [json stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* script = [NSString stringWithFormat:@"process('%@')", json_escaped];
NSString* result = [self.webView stringByEvaluatingJavaScriptFromString:script];
И расшифруйте его в javascript, как это
function process(json_escaped) {
var json = decodeURIComponent(json_escaped);
alert('json: ' + json.toString());
}
Я все еще ищу лучшее решение с меньшими накладными расходами.
Обновление
Я недавно узнал, что существует несколько каркасов для соединения target-c с javascript.