在 iOS 中创建 JsonString

2024-03-11

我是 iOS 新手。我创建了一个JSON NSDictionary像这样:

NSArray *keys = [NSArray arrayWithObjects:@"User", @"Password", nil];
NSArray *objects = [NSArray arrayWithObjects:@"Ali", @"2020", nil];
NSDictionary *jsonDictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];

然后我可以将它转换为NSString通过两种机制:

1)

NSError *error; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDictionary options:0 error:&error];

NSString *jsonString = nil;
if (! jsonData) {
     NSLog(@"Got an error: %@", error);
} else {
     jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}

2)

NSString *jsonString = [jsonDictionary JSONRepresentation];

通过第二种方式我得到了这个warning :

Instance method '-JSONRepresentation' not found (return type defaults to 'id')

但是当我运行该项目时,两种机制都工作正常:

NSLog(@"Val of json parse obj is %@",jsonString); 

您知道如何通过第二种方式消除警告吗?

我的主要目标是POST使用 RESTful Web 服务将此 json 字符串传输到外部数据库。 考虑到我的主要目标,基本上哪种方法更好?


你应该使用NSJSONSerialization因为它更快并且直接附带 iOS SDK,只要您的“目标受众”是 iOS5+

要将数据发布到您的网络服务,您需要按照这些方式创建一个请求...

NSDictionary * postDictionary = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"value1", @"value2", nil]
                                                                  forKeys:[NSArray arrayWithObjects:@"key1", @"key2", nil]];

NSError * error = nil;
NSData * jsonData = [NSJSONSerialization dataWithJSONObject:postDictionary options:NSJSONReadingMutableContainers error:&error];

NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"your_webservice_post_url"]];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:jsonData];

NSURLConnection * myConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self startImmediately:YES];

请阅读NSURLConnection 代理 https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/协议。

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

在 iOS 中创建 JsonString 的相关文章

  • Codesign 想要访问您钥匙串中的密钥“访问”,我输入了登录密码,但一直询问我

    我正在尝试学习从 Xcode 在我的 iPhone 上加载应用程序 当我这样做时 我不断收到 Codesign想要访问您钥匙串中的密钥 访问 我输入了我的登录密码 但它不断弹出 我已经尝试了我的计算机登录很多次 苹果帐户密码 并且好多其它的
  • SwiftUI 意外地自动弹出 NavigationLink

    我有一个简单的用例 其中一个屏幕使用 NavigationLink 推送另一个屏幕 iOS 14 5 有一个奇怪的行为 即推送的屏幕在被推送后立即弹出 Code NavigationLink destination EmptyView Em
  • iPhone X 将对象底部与安全区域对齐会破坏其他设备上的外观

    关于 iPhone X 自动布局怪癖的问题 我有两个按钮 以前这些按钮将与超级视图底部对齐 偏移量为 20 以免它们接触屏幕底部 此后我将链接更改为安全区域而不是超级视图 Here s the original setup Looks go
  • BigQuery 未显示链接的 Firebase Analytics 事件日志的任何数据集

    我将我的帐户链接到 Big Query 但 Firebase Analytics 事件不会自动加载到 BigQuery 中 显示 未找到数据集 警告 我的工作进度附在下面 请查收 I have getting firebase Analyt
  • 如何按字母顺序对 UITableView 分区进行排序?

    我有一个包含 3 个类别的分段 UITableView 我正在使用这段代码 NSArray arrayOne NSArray arrayWithObjects one two three four nil NSDictionary dict
  • Swift:长按手势识别器 - 检测轻击和长按

    我想连接一个动作 如果手势是点击 它会以特定的方式为对象设置动画 但如果按下持续时间超过 0 5 秒 它会执行其他操作 现在 我刚刚连接了动画 我不知道如何区分长按和点击 如何访问新闻持续时间以实现上述目的 IBAction func ta
  • 在 WKWebView 中禁用缩放?

    有谁知道在 WKWebView 中禁用双击和捏缩放的简单方法 我尝试过的任何方法都不起作用 Webview scrollView allowsMagnification false Error value of type WKWebView
  • AVAudioPlayer 无法从网站播放 m4a 或 mp3 文件类型

    我试图在我的应用程序中找到一个仅纯 m4a 声音的 URL 我有音频的 URL 理论上可以下载它 然后 使用下载的文件URL到声音 我尝试使用AVAudioPlayer播放它 但它不播放任何声音 这是我的代码 在 URL 检索函数中 我调用
  • 在 iOS 上使用 RNCryptor 异步解密大文件

    我需要在 iOS 上使用 RNCryptor 异步解密一个大文件 以便显示进度条 我在任何地方都找不到示例 因此尝试了我猜对的方法 但是 我想出的方法不起作用 解密器的处理程序从未被调用 并且线程在发送所有数据后因 EXC BAD ADDR
  • 当应用程序进入前台时,如何重新启动基于块的动画?

    我有以下基于块的动画 UIView animateWithDuration 0 5f delay 0 0f options UIViewAnimationOptionRepeat UIViewAnimationOptionAutorever
  • 防止 iOS 键盘在 cordova 3.5 中滚动页面

    我正在使用 Cordova 3 5 和 jQuery mobile 构建 iOS 应用程序 我在大部分应用程序中禁用了滚动功能 但是 当我选择输入字段时 iOS 键盘会打开并向上滚动页面 我不想要这个功能 由于输入足够高 键盘不会覆盖它 我
  • 通过 Button Swift 中的标签发送行和部分

    我里面有这个cellForRowAtIndexPath cell plusBut tag indexPath row cell plusBut addTarget self action plusHit forControlEvents U
  • 在 Objective-C 中的 Swift 类上调用 NSStringFromClass 返回模块损坏的名称

    我知道这个问题 https stackoverflow com questions 24107658 get a user readable version of the class name in swift in objc nsstri
  • Xcode 异步单元测试在主线程上等待

    我正在尝试使用 Xcode 中的单元测试来测试一些异步代码 但主线程被阻塞 问题在于 某些正在测试的代码期望从 iOS 类 AVFoundation 接收回调 但是 AVFoundation 类似乎只会在主线程上回调 问题是 如果我正在进行
  • 从现有坐标地图套件中查找最近的位置

    我正在为拥有多家商店的客户开发 iPhone 应用程序 目标 C 我有数组中所有商店 20 的坐标 纬度 长 目前我正在考虑循环遍历商店坐标数组并获取从用户当前位置到商店位置的距离 然后将它们添加到数组中并按最小距离进行排序 这是正确的方法
  • 使用输入类型 = 文件捕获照片时移动 safari 崩溃

    我正在使用输入类型文件在 iOS 中启动相机 我正在使用以下代码行
  • 詹金斯配置文件问题

    检查依赖关系 找不到与 Nitin xxxxxxx xyzCAppStore 匹配的 iOS 配置文件 Xcode 找不到与 Nitin xxxxxxx xyzCAppStore 匹配的配置文件 安装配置文件 通过将其拖放到 Xcode 的
  • iPhone 上的语音识别

    我需要开发一个识别语音的 iPhone 应用程序 并根据结果执行进一步的任务 我知道iPhone 3 0不支持语音识别 我需要在服务器端实现语音识别软件 我只知道这个事情 因为我是新手 所以我不知道如何处理 意味着我需要购买哪些软件并在服务
  • 移动带有图像的文件夹

    我正在使用 Xcode 目前我的图像位于桌面上 将它们移至文件夹的正确方法是什么 当我只是复制粘贴它们时 我的项目不会构建 有没有简单的方法可以做到这一点 而无需将图像一一重新链接 1 在 Xcode 项目导航器中 选择要添加的项目的目标项
  • 从超立方体图像中获取文本的确切位置

    使用 tesseract 中的 GetHOCRText 0 方法 我能够检索 html 中的文本 并在 webview 中呈现 html 时 我能够获取文本 但图像中文本的位置与输出不同 任何想法都非常有帮助 tesseract gt Se

随机推荐

  • onAnimationEnd() 被调用两次

    从 23 更新构建 sdk 27 后 在调用下面的代码时遇到了 onAnimationEnd 触发两次的问题 onAnimationStart 仅调用一次 并且 onAnimationRepeat 未按预期调用 现在 在应用程序中 当用户按
  • 使用beautifulsoup和python提取标签信息

    假设我有一些像
  • Jenkins Pipelines:加载外部 Jenkins 管道脚本时重用工作区

    我有以下用例 使用编写的管道脚本签出 拉取某个 Git 修订版 我需要这个 因为我动态检索修订版 从该修订版本中 加载位于之前签出的文件中的 Jenkins pipeline file 该文件将依赖于同一签出版本的文件 因此 从same工作
  • 向流量数据添加自定义属性

    问题 当我将数据传递到 flot 时 如果我可以传递一些我想要访问的补充数据 那将非常方便plotclick事件被触发 My Data 这是一些标准数据 label first data 5 color 123 label first da
  • Windows 批处理脚本:将所有文件的名称、路径、大小和所有者列出到 csv 文件中

    我有一个脚本 可以列出文件夹及其子文件夹下的所有文件 以及一些属性 例如路径 文件名 修改日期和大小 但是 我无法添加一项额外的属性 文件所有者 ECHO off SET v1 dpF SET v2 nxF SET v3 zF for r
  • 在 firestore get 查询中使用通配符

    我想在 firebase 中创建一个云函数 每当用户第一次登录时就会触发该函数 该函数需要将特定用户身份验证中的 UID 添加到 firestore 中特定的现有文档中 问题是需要将 UID 添加到我不知道位置的文档中 我现在的代码并不能完
  • 在 Python 3.6 中使用 pandas.to_sql 将外来(非 ASCII)字符写入 Oracle DB

    我很难从 a 中写入值pandas DataFrame其中包含 Oracle 数据库的非 ASCII 字符 这是一个可重现的示例 给定真实的连接字符串 import pandas as pd from sqlalchemy import c
  • 将自定义视图添加到警报视图

    我有这样的问题 我想在警报视图中显示自定义视图 所以我创建了一个单独的 xib 文件并设计了我的界面 并为其实现了该类 但是当我应用下面的代码时 它给了我一个错误 这是代码 UIAlertView alert UIAlertView all
  • 如何在编辑模式下重新格式化自定义 UITableViewCell 以适应删除控件?

    我有一个自定义 UITableViewCell 其中包含一个 UILabel 其中显示可变数量的文本 单元格的高度是动态计算的 以适应文本量 问题是 UILabel 文本在编辑模式 删除 期间没有重新格式化 如以下屏幕截图所示 我需要使用自
  • Enterprise Java 实体应该是愚蠢的吗?

    在我们遗留的 Java EE 应用程序中 有大量值对象 VO 类 它们通常只包含 getter 和 setter 也许equals and hashCode 这些 通常 是要保存在持久性存储中的实体 根据记录 我们的应用程序没有 EJB 尽
  • 使用 JFreeChart 和 Apache PDFBOX 生成图表

    我需要使用生成图表自由图表 http www jfree org jfreechart 然后使用将它们导出为 PDF阿帕奇PDFBOX http pdfbox apache org 我不想使用 iText 因为它不能在专有软件中使用 我搜索
  • VSCode 亮点

    当我将本地函数导入 vscode 时 其中一些函数会正确突出显示 并允许您使用 CTRL LMB 来引导您找到它们 但其中一些函数却没有正确突出显示 这是否是有原因的 这适用于所有主题 而不仅仅是我正在使用的主题 此外 所有进口功能均可用
  • 创建 Word 文档并从 .NET 应用程序添加图像

    我需要一种生成Word文档 从模板或其他东西 并在特定位置插入图像的方法 有人对执行此操作的最佳方法有任何指示吗 几年前 我参与了一个使用 NET 1 1中的办公自动化的项目 效果确实差得难以形容 我假设 OA 要么得到了改进 要么被更好的
  • Jasper iReport Designer 中的表

    我在 Jasper iReport Designer 中创建了一个表 执行报表时 会多次显示同一个表 虽然只使用了单个数据集和表格 请指导 Thanks 尝试将表格组件放入摘要区域 因为详细信息区域会重复数据集中每一行的记录 如果确实需要将
  • 你最喜欢的 Python 模拟库是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何设置 javac 的 PATH 变量以便我可以手动编译我的 .java 作品?

    这是我的驱动器上的地址 C Program Files Java jdk1 6 0 18 bin 我将如何设置路径变量 以便我可以进入命令窗口 windowskey r cmd 并能够键入以下内容 javac TestApp java 我使
  • 在 Windows 7 上使用 XAudio2 进行构建

    我正在尝试使用以下说明来构建一些使用 XAudio2 并在 Windows 7 上运行的代码 http msdn microsoft com en us library windows desktop ee663275 28v vs 85
  • Android Mapbox SDK v10:归因位置;用户界面设置

    如何调整徽标和属性com mapbox mapboxsdk maps MapView 在较旧的 SDK v9 中 可以通过 XML 属性 或通过以编程方式更改 UiSettings 简单地设置 UiSettings mapbox mapbo
  • 旅行商问题,2-opt算法C#实现

    有人能给我一个旅行商问题的 2 opt 算法的代码示例吗 目前 我使用最近邻来查找路径 但这种方法远非完美 经过一些研究 我发现 2 opt 算法可以将该路径纠正到可接受的水平 我找到了一些示例应用程序 但没有源代码 所以我无聊就写了 它l
  • 在 iOS 中创建 JsonString

    我是 iOS 新手 我创建了一个JSON NSDictionary像这样 NSArray keys NSArray arrayWithObjects User Password nil NSArray objects NSArray arr