我从服务器上拉取json数据。它包含一个带有插入到html模板中的文本的字典。如何为UIWebView转义字符串?
我该如何正确地逃避这个字符串?
NSString* json = /* can be anything, but also garbage */
NSString* json_escaped = [json someEscapeMethod]; /////// HOW TO ESCAPE THIS ?
NSString* script = [NSString stringWithFormat:@"process('%@')", json_escaped];
NSString* result = [self.webView stringByEvaluatingJavaScriptFromString:script];
我目前做的这样,但我不知道羯羊转义足够
NSString* json_escaped = [json stringByReplacingOccurrencesOfString:@"'" withString:@"\\'"];
这几乎是正确的。如果您的原始字符串包含单个撇号,则此代码无法正常工作。为了解决这个问题,您需要做的只是更改过程('%@')来处理(“%@”)。单撇号(')没有通过stringByAddingPercentEscapesUsingEncoding进行编码,其中双撇号(“)是。 – 2013-04-14 23:27:32
非常好的方法。 – mattsven 2014-05-12 18:03:28