我有一些从 Web 服务返回的 xml。我反过来使用 xslt 将该 xml 转换为 json(我正在将其他人的 xml 服务转换为基于 json 的服务)。我的服务现在正在输出 JSON,由我的 iphone 应用使用事实上的 iphone json 框架 SBJSON 使用。
问题是,使用 [string JSONValue] 方法阻塞,我可以看到它是由于换行符造成的。瞧,即使是常见问题解答也告诉我问题,但我不知道如何解决。
解析器无法解析字符串 X
你确定它是合法的 JSON 吗?这个框架非常严格,所以不会接受(显然)几个验证器接受的东西。特别是,字符串标记中的文字 TAB、NEWLINE 或 CARRIAGE RETURN(以及所有其他控制字符)字符是不允许的,但很难发现。(当然,标记之间允许使用这些字符。)
如果您得到类似下面的内容(数字可能会有所不同),那么您的其中一个字符串中不允许包含 Unicode 控制字符。
NSLocalizedDescription = "未转义的控制字符 '0x9'";
我尝试过使用如下行: NSString *myString = [myString stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"];
但这不起作用。我的 xml 服务没有以 CDATA 的形式返回。据我所知,xml确实有一个换行符(我将如何确认这一点)。我只想将换行符忠实地传输到 JSON 中。
我实际上已经花了一整天的时间,所以是时候问了。我已经没有骄傲了。非常感谢