[Xcode 实际操作]七、文件与数据-(17)解析JSON文档
目录:[Swift]Xcode实际操作
本文将演示如何解析JSON文档。
项目中已添加一份JSON文档:menu.json
1 { 2 "menu": 3 { 4 "id": "file", 5 "value": "File", 6 "menuitem": 7 [ 8 { 9 "value": "New", 10 "onclick": "CreateNewDoc()" 11 }, 12 { 13 "value": "Open", 14 "onclick": "OpenDoc()" 15 }, 16 { 17 "value": "Close", 18 "onclick": "CloseDoc()" 19 } 20 ] 21 } 22 }
在项目导航区,打开视图控制器的代码文件【ViewController.swift】
1 import UIKit 2 3 //首先引入文档的解析代理协议XMLParserDelegate, 4 //主要的解析工作,都是靠代理来实现的。 5 class ViewController: UIViewController, XMLParserDelegate { 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 // Do any additional setup after loading the view, typically from a nib. 10 11 //从项目的目录结构中,读取需要解析的文档, 12 let path = Bundle.main.path(forResource: "menu", ofType: "json") 13 //读取指定位置的文件,并转换为二进制数据 14 if let jsonData = try? Data(contentsOf: URL(fileURLWithPath: path!)) 15 { 16 //添加一条异常捕捉语句,用于将二进制数据转换为字典对象 17 do 18 { 19 //将二进制数据转换为字典对象 20 if let jsonObj:NSDictionary = try JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions()) as? NSDictionary 21 { 22 //根据键名,获得字典对象中的键值, 23 //并根据键值转换成为另一个字典对象 24 if let menuDic:NSDictionary = jsonObj["menu"] as? NSDictionary 25 { 26 //根据键名,获得第二个字典对象中的键值,并将键值转换成为一个数组对象 27 if let menuItems:NSArray = menuDic["menuitem"] as? NSArray 28 { 29 //遍历数组中的元素,并在控制台打印输出元素的内容 30 for item in menuItems 31 { 32 print("item: \(item)") 33 } 34 } 35 } 36 } 37 } 38 catch 39 { 40 print("Error.") 41 } 42 } 43 } 44 45 override func didReceiveMemoryWarning() { 46 super.didReceiveMemoryWarning() 47 // Dispose of any resources that can be recreated. 48 } 49 }
转载于:https://www.cnblogs.com/strengthen/p/10050129.html
[Xcode 实际操作]七、文件与数据-(17)解析JSON文档相关推荐
- python下载图片到文件夹_python实现解析markdown文档中的图片,并且保存到本地~
背景 前阵子简书好像说是凉了,搞得我有点小慌,毕竟我的大部分博客都是放在简书上面的,虽然简书提供了打包导出功能,但是只能导出文字,图片的话还是存在简书服务器上面,再加上我一直想要重新做一个个人博客,于 ...
- java jdom解析xml文件_Java 使用JDOM解析XML文档
使用JDOM解析XML文档 JDOM是一种使用 XML(标准通用标记语言下的一个子集) 的独特 Java 工具包.下面我们来看一下怎么使用 JDOM来解析XML文档. 首先下载JDOM的jar包,并导 ...
- c++ 按行读取txt文件并赋值_python操作txt文件中数据教程[3]python读取文件夹中所有txt文件并将数据转为csv文件...
觉得有用的话,请点击右下角 推荐给更多小伙伴 neoken_xuAsurada2015Evacloud 参考文献 python 操作 txt 文件中数据教程[1]-使用 python 读写 txt 文 ...
- Android数据存储——2.文件存储_C_DOM解析XML文档
今天学习Android数据存储--文件存储_DOM解析XML文档 位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效 ...
- Python 获取接口数据,解析JSON,写入文件
Python 获取接口数据,解析JSON,写入文件 用于练手的例子,从国家气象局接口上获取JSON数据,将它写入文件中,并解析JSON: 总的来说,在代码量上,python代码量要比java少很多.而 ...
- DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件(详细)...
Dom4j是一个简单.灵活的开放源代码的库.Dom4j是由早期开发JDOM开发的.与JDOM不同的是,dom4j使用接口和抽象的人分离出来而后独立基类,虽然Dom4j的API相对要复杂一些,但它提供了 ...
- C# 操作通过word模板合并N个word文档
C# 操作通过word模板合并N个word文档 C# 操作通过word模板合并N个word文档.在工作中遇到了这样一个工作场景,客户需要经常对上级上报或者汇报本阶段的工作, 比如:日报.周报.月总结. ...
- php 解析word文件,php解析word文档
(twips) 官方网站: 首先解释一下 PHPWord 最基本的计量单位:"缇"(twips),我们常常 在文件中看到或使用计量单位"缇",它是开源办公软件中 ...
- C语言学生管理系统(将数据保存至TXT文档)附源码
C语言学生管理系统(将数据保存至TXT文档) 在大一学习完C语言之后,回家遇到疫情,便有了用C语言写一个学生管理系统的想法,在家花费了一些时间,刚开始写了一点,后来可能是因为学艺不精就没写完,开学到现 ...
最新文章
- Xcode7 真机免证书调试Cocos2D游戏
- LeetCode-726. 原子的数量(python2)
- 深到骨子里的自律,是每周坚持刷几篇最新论文 | PaperDaily #10
- python彩票结果分析_天啦噜!Python多线程居然是骗人的?
- 2021-2025年中国电子薄膜开关行业市场供需与战略研究报告
- 如何在Go中找到一个对象的类型?
- 忽略mysql库的同步
- ubuntu 新建用户
- 2022年蓝桥杯基础题目合集C语言
- html在线取色,JS实现的RGB网页颜色在线取色器完整实例
- 速成! | 遗传算法详解及其MATLAB实现
- 微慕小程序专业版V3.6.6发布
- 常用的软件打包工具Inno Setup和AdvancedInstallerPortable
- vnr光学识别怎么打开_SLS46CK4单光束安全传感器原版使用说明-Leuzeelectronic.PDF
- qt5的configure选项说明(2)
- php实现emoji表情包的数据库存储和展示
- yum linux centos安装mysql详细教程
- PT2262 单片机解码程序
- 【专题】详解Python中的反射机制
- 搭建SpringCloud配置中心 Config Server
热门文章
- 【HDU - 6203】ping ping ping(lca+贪心思想,对lca排序,树状数组差分)
- 【HDU - 5456】Matches Puzzle Game(数位dp,思维)
- 【BZOJ - 1305】dance跳舞(拆点网络流,建图,最大流,残留网络上跑最大流)
- 【POJ - 2752】Seek the Name, Seek the Fame (KMP,公共前缀后缀长度及个数)
- c 语言 while break,26 C 语言中的break和continue - C 语言基础教程
- ecshop php升级,升级-安装与升级- ECShop帮助
- mysql索引详细介绍简书_Mysql索引介绍
- 学习笔记10-C语言-小项目-五子棋
- leetcode597. 好友申请 I :总体通过率(SQL)
- Git(12)-stash, reflog