JSON 解析错误

2023-11-29

我在 iOS 上使用 SBJson 框架(也称为 json-framework)。

解析某个 JSON 文件时,出现以下错误:-JSONValue 失败。错误是:未转义的控制字符 [0x09]'

我已经多次使用这个框架,并且还在同一个应用程序中解析一个非常相似的 JSON 文件(甚至更长),并且它工作正常。

我尝试扔掉一堆 NSLogs,一切似乎都很好。有人可以告诉我这个错误意味着什么,或者至少如何继续调试这样的错误吗?

这是显示错误的代码:

- (void)downloadSchedule:(NSString *)jsonString {

    // Get JSON feed URL and instantiate a dictionary object with its content
    NSDictionary *topDic = [jsonString JSONValue];

    NSLog(@"topDic count %d", [topDic count]);

topDic 显示计数为 0。错误位于[jsonString JSONValue] line.

谢谢


我有一个很好的解决方案。应用此方法删除转义字符。

-(NSString *)removeUnescapedCharacter:(NSString *)inputStr
{

NSCharacterSet *controlChars = [NSCharacterSet controlCharacterSet];

NSRange range = [inputStr rangeOfCharacterFromSet:controlChars];

  if (range.location != NSNotFound) 
  {

      NSMutableString *mutable = [NSMutableString stringWithString:inputStr];

      while (range.location != NSNotFound) 
      {

          [mutable deleteCharactersInRange:range];

          range = [mutable rangeOfCharacterFromSet:controlChars];

      }

      return mutable;

   }

  return inputStr;
}

调用此方法并传递输出字符串,如下所示

NSString *output = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"yourUrlString"] encoding:NSUTF8StringEncoding error:nil];

output = [self removeUnescapedCharacter:output];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSON 解析错误 的相关文章

  • UITextFieldDelegate 与 UITextField 控件事件

    如果我想处理 UITextField 的更改 例如用户在其中键入 看起来这可以通过将委托分配给该文本字段 然后让委托实现 shouldChangeCharactersInRange 来完成 或者通过将目标添加到文本字段并处理 UIContr
  • 玻璃效果 UIView

    我想知道如何在 UIView 上添加玻璃效果 我想像这样的效果 http pttrns com pickers detail 0dc9d9f6c6a7577613b3453768eee3b3在灰色半透明视图上 您 可以在这里看到 Thank
  • Transit MKDirectionsRequest 产生 null 错误 Error Domain=MKErrorDomain Code=5 "(null)"

    我正在尝试使用 MapKit Directions Request 来获取两个坐标之间的交通方向 当我切换到其他 非 Transit 类型时 下面的代码可以工作 但是当我切换到 Transit 时 它会抛出一个错误 该错误在 Apple 文
  • 适用于 Objective-C / iPhone 的良好 HTTP 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 UPDATE 这个问题显然已经过时了 参见日期 我建议只使用现代 iOS7 功能 例如 NSURLSession 我想 这个问题是为了历史
  • Objective Flickr 照片上传错误

    我正在使用 ObjectiveFlickr 库将照片从我的 iPhone 应用程序上传到 Flickr 我可以授权该应用程序并执行一般请求 但在尝试上传照片时遇到错误 要上传的照片是使用 AVFoundation 捕获的图像 这是相关代码
  • UICollectionView 未出现

    我正在尝试设置UICollectionView 以编程方式在我的视图控制器中扩展UIViewController 由于某种原因 我的收藏视图根本没有显示 以下是我所拥有的 为什么没有出现 我将它连接到委托和数据源并将其添加为子视图self
  • PresentModalViewController 不执行任何操作

    我有一个 UIViewController parent 调用presentModalViewController与另一个 UIViewController child on viewDidLoad If parent没有 UINaviga
  • 无法使用 Xamarin 和 WCF 访问 Web 服务

    我想使用 Xamarin 和 WCF 来使用公共 Web 服务 对于这个演示 我将使用Xamarin iOS 这是我试图使用的 公共 网络服务 http www webservicex net globalweather asmx WSDL
  • 在 Swift 中自动移动 UISlider

    我想在按下按钮时将 UISlider 从 minValue 循环移动到 maxValue 并在再次按下按钮时将其停止在当前位置 我想使用 Swift 我遇到的主要问题是函数 slider setValue 太快了 我希望动画更慢 IBAct
  • Objective C 如何将文本字段添加到导航栏中

    我正在尝试将文本字段添加到导航栏中 但它没有显示在模拟器中 我在 viewdidload 中按如下方式执行 UITextView textField UITextView alloc initWithFrame CGRectMake 0 0
  • SpriteKitPhysicsBody非矩形碰撞

    pipeUp physicsBody SKPhysicsBody rectangleOfSize pipeUp size 在此编码中我使用了rectangleOfSize对于碰撞物理体 但如果我想按像素仅使用图像的形状 我应该使用什么而不是
  • iPhone 快照,包括键盘

    我正在寻找拍摄整个 iPhone 屏幕 包括键盘 的正确方法 我找到了一些截取屏幕的代码 CGRect screenCaptureRect UIScreen mainScreen bounds UIView viewWhereYouWant
  • 使用 UIImageJPEGRepresentation 时,compressionQuality 应该是多少?

    我想对用户库中的照片应用滤镜 然后将其写回磁盘 我在用着UIImageJPEGRepresentation 该函数需要一个UIImage and a compressionQuality值介于 0 0 和 1 0 之间 因为我想保留原始质量
  • 如何将音乐从我的应用程序切换到 iPod

    我在用MusicPlayerController我的应用程序中的对象来播放音乐 我知道当 iPhone ipod 应用程序终止时 可以继续播放我的应用程序音乐 我该怎么做 这涉及到一些事情 您必须在两种音乐播放器之间进行选择 应用程序音乐播
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • iPhone - 如何在矩形中间绘制文本

    有没有一种方法可以在矩形中间绘制文本 我可以找到各种对齐方式 但我尝试过的任何方法都不能将文本垂直居中在矩形中 有没有一种简单的方法可以做到这一点 或者有什么方法可以将矩形居中然后在其中绘制 我直接绘制到 CGContext 尝试使用 NS
  • 在 Instruments 中查找内存泄漏行

    我是 iOS 中的仪器新手 我正在尝试使用 Xcode 4 5 2 并按照本教程查找仪器中的内存泄漏 http soulwithmobiletechnology blogspot sg 2011 04 how to check memory
  • 对使用phonegap和钛的质疑[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 最近我听说了 PhoneGap 和 Titanium 移动网络应用程序的开发 我分析了这两个 Web 应用程序 并了解了如何使用它们以
  • 显示键盘时如何在 TextView 下方添加更多填充

    当我在 ScrollView 中有 TextField 并点击它时 键盘会按预期显示 但似乎 TextField 已向上移动到足以显示输入区域 但我希望移动到足够的位置 以便整体可见 否则它看起来像是被剪裁了的 我找不到改变这种行为的方法
  • 为什么这个 SKPhysicsJointPin 不能将这 2 个精灵保持在一起?

    我显然不太了解 SKPhysicsJoint 但是除了 Apple 文档之外 网上的信息还很少 下面的代码有什么问题 我认为应该保持头部和颈部永久连接 我的意图是它们就像两张带有大头针的纸 这样它们可以旋转一点 但不仅仅是完全分开 当我运行

随机推荐

  • 像 SAS 一样加入 bash

    我想加入两个文件bash使用公共列 我想保留两个文件中所有可配对和不可配对的行 不幸的是使用join我可以仅从一个文件中保存不可配对的字段 例如 join 1 1 2 2 a1 t 我还想保留两个文件中重复条目 在连接列中 的所有配对 IE
  • php + unixODBC + DB2 + DESCRIBE = 令牌无效?

    我试图运行的代码 query DESCRIBE TABLE TABLENAME result odbc exec h query 结果 PHP 警告 odbc exec SQL 错误 unixODBC IBM iSeries Access
  • Analytics API 返回:错误请求 - invalid_grant

    我正在使用 Google Analytics API v3 我现在将解释我的申请流程 我在这里使用了这个文档 https developers google com accounts docs OAuth2WebServer 首先 为用户生
  • Apache Commons SCXML - 找不到 JexlContext

    我是 SCXML 新手 甚至无法启动最简单的应用程序 当我尝试启动它时 出现以下异常 但我有图书馆commons scxml 0 9 jar将该类放在类路径上 有任何想法吗 Exception in thread main java lan
  • 无法禁用特定 Android 设备上的主页按钮

    我知道这个问题已经被问过很多次了 答案总是 不 我们不能禁用主页按钮 我有一些不同的问题要问 我编写了简单的代码 其中我的活动覆盖 onKeyDown 并为所有按键返回 true 从理论上讲 这意味着无论谁打开该应用程序 都会被困在那里 并
  • 如何根据文本长度使 UITextView 高度动态变化?

    正如你在这张图片中看到的 the UITextView根据文本长度改变它的高度 我想让它根据文本长度调整它的高度 我看到了其他问题 但那里的解决方案对我不起作用 this Works对我来说 所有其他解决方案都没有 func adjustU
  • 如何在 Visual Studio Code 中使用多根工作区的调试启动配置?

    调试自多根工作空间似乎不起作用 这些是一个新功能 也许这是一个错误 但没有实际的例子 只是网站上的伪代码 Attribute program is not absolute workspaceFolder node modules moch
  • 尝试远程调试时未能找到进程调度程序的空闲套接字端口

    强调 Windows 10 主机 ubuntu vagrant box virtualbox 作为访客虚拟机 使用 vagrant 端口转发 如下所示 config vm network forwarded port guest 1234
  • Apache Poi 安卓

    我在用Apache Poi在 Android 应用程序中 但我有一个问题HSSFWorkbook 我只想读取 Android 平板电脑内存中的 Excel 文件 在Android应用程序中显示数据 我的代码 Override protect
  • Java 8 流处理不流畅[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我对 Java 8 流有一个问题 其中数据是突然批量处理的 而不是在请求时处理的 我有一个相当复杂的流 必须并行化 因为我使用concat合并两个流 我的问题源于这样一个事实 数据似乎
  • Maven 程序集插件未在解压的 dependencySet 上应用 fileMode

    整个下午我都在用头撞墙 我需要创建一对程序集 zip and tgz 并且需要为存档中包含的 shell 脚本设置正确的可执行权限 我所做的似乎没有任何区别fileMode设置似乎没有效果 这是我的程序集描述符的一个片段
  • python 异步上下文管理器

    在 Python Lan 参考文献中 3 4 4 据说 aenter and aexit 必须返回可等待的内容 但是 在示例异步上下文管理器中 这两个方法返回 None class AsyncContextManager async def
  • GWT 中的正则表达式用于匹配 URL

    我实现了 Pattern 类 如下所示 http www java2s com Code Java GWT ImplementjavautilregexPatternwithJavascriptRegExpobject htm 我想使用以下
  • 如何从字符串中删除表情符号

    我的问题是使用正则表达式从字符串中删除表情符号 但不删除字符串中的 CJK 中文 日文 韩文 字符 我尝试使用这个正则表达式 REGEX u1F600 u1F6FF s i 这个正则表达式工作正常 除了它还可以检测我需要这些字符的中文 日文
  • 使用带有连接的占位符

    我试图通过用我的连接参数替换来避免任何 SQL 注入漏洞 Category joins LEFT OUTER JOIN incomes ON incomes category id categories id AND incomes dep
  • 更改特定图表点的颜色

    是否可以使用 dx ChartJS 更改特定点颜色 我知道如何更改整个系列的点颜色 但我找不到任何有关更改特定点的信息 您可以使用 customizePoint 打回来 container dxChart dataSource dataSo
  • if-else 语句

    我的代码允许用户输入从 1 到 100 的分数 这将告诉他们分数是 好 还可以 白痴 或 无效 但是 当我编译这些代码时 如果大于 54 则输出中的正确语句也无效 例如 如果我输入 55 它会显示 OK 和 Invalid 如果我输入 54
  • Django在数据库中实现默认值

    我的模型上有一个字段是 class SomeModel models Model some field models CharField max length 10 null True blank True 然后我将模型更改为 class
  • 如何以中等信任度运行 exe 或 Windows 服务?

    我想以中等信任度运行 exe 和 Windows 服务 但我能找到的所有文献都建议使用
  • JSON 解析错误

    我在 iOS 上使用 SBJson 框架 也称为 json framework 解析某个 JSON 文件时 出现以下错误 JSONValue 失败 错误是 未转义的控制字符 0x09 我已经多次使用这个框架 并且还在同一个应用程序中解析一个