我有一些从web服务返回的xml。我反过来使用xslt将该xml转换为json(我将其他人的xml服务转换为基于json的服务)。现在正在输出JSON的我的服务被我的iPhone应用程序使用事实上的iPhone json框架SBJSON消耗。Stig JSON库解析错误:如何在JSON中容纳新行?
问题是,使用[string JSONValue]方法扼流圈,我可以看到它是由于换行符。你看,即使是常见问题解答告诉我的问题,但我不知道如何解决它。
分析器无法解析字符串X
你确定它是合法的JSON?这个框架非常严格,所以不会接受(显然)几个验证器接受的东西。特别是字符串标记中的字面TAB,NEWLINE或CARRIAGE RETURN(以及所有其他控制字符)字符是不允许的,但可能很难找到。 (当然,这些字符是允许在令牌之间的。)
如果您得到类似于下面的内容(数字可能有所不同),则其中一个字符串不允许使用Unicode控制字符。
NSLocalizedDescription =“未转义的控制字符'0x9'”;
我一直在使用的线路,如尝试:NSString *myString = [myString stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"];
但是,这并不工作。我的xml服务不会作为CDATA回来。据我所知,xml中有一个换行符(我将如何确认这一点)。我只是想忠实地将换行符转换为JSON。
我实际上已经花了整整一天的时间,所以现在是时候提问了。我再也没有骄傲了。 非常感谢
“忽略错误”不是一个好策略,IMO。更好地处理这个问题,而不是忽视症状。 –