如何在iOS应用程序中解析JSON

2024-03-20

我从 Twitter 收到字符串形式的响应,

我需要的是将注释所在的部分发送到数组,

这是字符串的示例

[{"geo":null,"coordinates":null,"retweeted":false,... 
"text":"@KristinaKlp saluditos y besos d colores!"},{"geo":null,"coordinates...

所以我真正需要的是“text”之后的帖子:“=

@KristinaKlp 祝你好运,色彩更美!

那么,我如何获取字符串并解析它,以便我希望获得数组中的所有消息?

多谢!


我还没有在 iOS 应用程序中自己完成 JSON 解析,但是您应该能够使用像json框架 https://github.com/stig/json-framework/。这个库将允许您轻松解析 JSON 并从字典/数组生成 json(这实际上是 JSON 的全部组成)。

SBJson 文档:

JSON 通过以下方式映射到 Objective-C 类型:

  • 空 -> NSNull
  • 字符串 -> NSString
  • 数组 -> NSMutableArray
  • 对象 -> NSMutableDictionary
  • true -> NSNumber 的 -numberWithBool:YES
  • false -> NSNumber 的 -numberWithBool:NO
  • 最多 19 位的整数 -> NSNumber 的 -numberWithLongLong:
  • 所有其他数字 -> NSDecimalNumber

由于 Objective-C 没有专门的布尔值类, 这些变成 NSNumber 实例。然而,由于这些是 使用 -initWithBool: 方法初始化,然后返回 JSON 适当地。也就是说,它们不会悄无声息地突然变成0或1; 它们将再次被表示为“真”和“假”。

作为优化整数,长度最多为 19 位(最大长度 对于有符号的 long long 整数)转换为 NSNumber 实例,而 复杂的变成 NSDecimalNumber 实例。因此我们可以避免任何 由于 JSON 允许大得离谱的数字,因此会导致精度损失。

@page objc2json Objective-C 到 JSON

Objective-C 类型通过以下方式映射到 JSON 类型:

  • NSNull -> null
  • NSString -> 字符串
  • NSArray -> 数组
  • NSDictionary -> 对象
  • NSNumber 的 -initWithBool:YES -> true
  • NSNumber 的 -initWithBool:NO -> false
  • NSNumber -> 数字

@note 在 JSON 中,对象的键必须是字符串。 NS词典 键不需要,但尝试使用转换 NSDictionary 将非字符串键转换为 JSON 将引发异常。

使用 -numberWithBool: 方法创建的 NSNumber 实例是 转换为 JSON 布尔值“true”和“false”,反之亦然 反之亦然。任何其他 NSNumber 实例都会转换为 JSON 数字 你会期望的方式。

教程

有教程吗?是的!这些都是教程提供的 第三方人士:

iPhone 的 JSON 框架 http://iphonedevelopertips.com/networking/json-framework-for-iphone.html- John 撰写的分三部分的 Flickr 教程 穆楚。iPhone 上的 JSON Over HTTP http://www.mobileorchard.com/tutorial-json-over-http-on-the-iphone/——丹·格里格斯比。AS3 到 Cocoa touch http://andyj.be.s79833.gridserver.com/blog/?p=52:Andy Jacobs 的 JSON。

您还可以查看其他库,例如 TouchJSON、JSONKit、Yet Another JSON Library

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

如何在iOS应用程序中解析JSON 的相关文章

随机推荐

  • Angular2:如何从node_modules导入样式表?

    问题 在我的 Angular2 4 0 应用程序中 如何从 node modules 中的模块导入样式表 css 我有一个模块位于此处 node modules swimlane ngx datatable 我想导入这个样式表 node m
  • iOS 使用 UIActivityViewController 将图像共享到 LinkedIn

    我正在尝试将图像共享给我的设备中安装的所有可能的应用程序 但不幸的是 我无法将图像成功发布到 LinkedIn 已安装并以经过验证的用户身份登录 LinkedIn 显示在 UIActivityViewController 中的共享操作列表中
  • Azure 存储 SAS 身份验证失败

    我有一个私有的 azure 存储容器 并且正在尝试 azure 存储 SAS 以便我可以上传和下载文件 我能够生成签名 但它总是向我抛出身份验证失败错误 AuthenticationFailed服务器无法验证请求 确保授权标头的值格式正确
  • python 类型提示不会为错误类型生成错误

    我最近正在检查类型提示 在阅读了一些理论后 我尝试了一个简单的示例 如下所示 def myfun num1 int num2 int gt int return str num1 num2 a myfun 1 abc print a out
  • 在 PHP 中输​​出带有换行符的文本文件

    我正在尝试打开一个文本文件并使用下面的代码输出其内容 该文本文件包含换行符 但当我回显该文件时 其未格式化 我该如何解决 Thanks fh fopen filename txt r pageText fread fh 25000 echo
  • 用双斜杠替换单斜杠,php

    如何用双斜杠替换单斜杠 我有这样的文字 data folder and i need get data folder 我尝试替换 但出现错误 data str replace data 你说的是反斜杠还是普通斜杠 无论如何 请检查下面的代码
  • Python 3 类型注释和子类

    如何在 Python 类型注释中引用 任何子类化父类的对象 例子 FooBase是一个抽象基类 其中Foo1 Foo2等被子类化 我希望该函数接受任何后代FooBase 这会吗 def do something self bar FooBa
  • 使用seaborn时如何从箱线图中获取统计值?

    我用seaborn制作了一个箱线图 我想获得一些统计值 例如最小值 第一四分位数 中位数 第三四分位数 最大值以及异常值 是否有任何函数或属性可以通过 seaborn boxplot 直接收集这些值 或者我应该通过其他包或手动计算这些 使用
  • 为什么我的本地对象被破坏了两次?

    我有一个返回本地对象的函数 class AT public AT cout lt lt construct lt
  • Birt 查看器无法加载报告查询

    当我尝试运行 BIRT 查看器时 显示以下错误 无法加载报表查询 163 为 ID 为 163 的报表元素生成报表文档时发生错误 元素 ID 163 但同一模块在 Eclipse 中成功地给出了报表设计结果 我正在使用 JDBC 连接 我该
  • 如何将JSON数据保存在本地(本机上)?

    我使用以下链接创建树状结构 这是我的代码
  • 删除零线二维numpy数组

    I run a qr factorization in numpy它返回一个列表ndarrays 即Qand R gt gt gt q r np linalg qr np array 1 0 0 0 1 1 1 1 1 reshape 3
  • 如何重定向到 CloudFront 分配中的特定 CNAME

    我在 AWS 中有 2 个 CloudFront 发行版 每个发行版都有自己不同的证书 每个 CNAME 都附加了多个 CNAME 并且每个 CNAME 在 Route 53 中都有一个对应的记录集 有没有办法将其中一个 URL 重定向到另
  • 在 C++ 中使用 setInterval()

    在JavaScript中 有一个函数叫做setInterval 用C 可以实现吗 如果使用循环 程序不会继续 而是继续调用该函数 while true Sleep 1000 func cout lt lt Never printed 没有内
  • For循环应该打印出ArrayList属性和其他ArrayList属性

    我正在尝试从同一系统中的两个不同的 ArrayList 打印属性 无法让它工作并自杀找出为什么它不起作用 for int i 0 i lt resultlist size i Athlete matched null Result res
  • 通过 Google Apps 脚本发布 Google 电子表格

    是否可以使用 Google Apps 脚本将 Google 电子表格发布到网络上 现在我必须使用手动执行此操作File gt Publish to the web 我检查了所有 Google Apps 脚本参考和指南 但没有看到任何有关通过
  • Java Swing 元素转换

    我正在尝试制作一个小型的非商业应用程序 并使其具有设计良好的界面 具有屏幕转换等功能 我在一个 JFrame 中的单独面板上拥有每个 屏幕 并且希望能够在面板之间转换时平滑地滑动它们 有什么办法可以轻松地实现这一点吗 由于您尚未接受答案 我
  • jQuery 中 $.map 和 $.grep 有什么区别

    有什么区别 map and grep在 jQuery 中 我想要一个尽可能简单的答案 我假设你的意思是 grep and map 不同之处在于我们使用 grep在我们使用时过滤数组 map将函数应用于数组中的每个项目 这是一个比我能做出的更
  • PermissionError:[Errno 13] 权限被拒绝:pipenv 安装请求的“Pipfile”

    我正在尝试遵循有关 Pipenv 和 virtualenv 的指南 http docs python guide org en latest dev virtualenvs http docs python guide org en lat
  • 如何在iOS应用程序中解析JSON

    我从 Twitter 收到字符串形式的响应 我需要的是将注释所在的部分发送到数组 这是字符串的示例 geo null coordinates null retweeted false text KristinaKlp saluditos y