Swift Json解析基础
func JSONToData(obj:Any) -> Data {
//先判断是否可以转换
if !JSONSerialization.isValidJSONObject(obj) {
return Data.init()
}
//开始转换
//JSONSerialization.WritingOptions.prettyPrinted 是输出JSON时的格式更容易查看。
return try! JSONSerialization.data(withJSONObject: obj, options: .prettyPrinted)
}
func DataToJSON(anyData:Data) -> Any {
if JSONSerialization.isValidJSONObject(anyData) {
return anyData
}
//开始转换
return try! JSONSerialization.jsonObject(with: anyData, options: JSONSerialization.ReadingOptions.mutableContainers)
}
func jsonToStream(obj:Any,stream:OutputStream) -> (Int,NSError?) {
//判断是否可以写入
var error:NSError?
if !JSONSerialization.isValidJSONObject(obj){
return (,error)
}
let result = JSONSerialization.writeJSONObject(obj, to: stream, options: .prettyPrinted, error: &error)
if (error != nil) {
return (,error!)
}
return (result,nil)
}
func StreamToJSON(stream:InputStream) -> Any {
return try! JSONSerialization.jsonObject(with: stream, options: .mutableContainers)
}
Call Fuction
// 数组转换
let ArrayFunc = ["aa","bb","ccc"]
// 转换
let ArrayJsonData = JSONToData(obj: ArrayFunc)
// 解码
let ArrayUJson = DataToJSON(anyData: ArrayJsonData)
// 输出
print(ArrayUJson) /*
打印 (
aa,
bb,
ccc
) */ //字典转换
let dict:[String : Any]=["name":"jack","age":]
let dataDict=JSONToData(obj: dict)
let dict2=DataToJSON(anyData: dataDict)
print(dict2) /*
打印 {
age = 18;
name = jack;
} */
Swift Json解析基础的更多相关文章
- Swift Json解析与model互转
Json的解码与编码操作,这里使用swift自带的类JSONDecoder 和 JSONEncoder 1.基础处理 如果你的 JSON 数据结构和你使用的 Model 对象结构一致的话,那么解析过程 ...
- Swift Json 解析错误
昨天在开发公司的ios程序时,遇见一个json解析的问题,并且是一个非常奇怪的问题. 因为原来的代码比较复杂,所以对代码进行了一些简化,具体代码如下: 服务器返回格式(PHP): array( arr ...
- IOS SWIFT 网络请求JSON解析 基础一
前言:移动互联网时代,网络通信已经是手机端必不可少的功能.应用中也必不可少地使用了网络通信,增强客户端与服务器交互.使用NSURLConnection实现HTTP的通信.NSURLConnection ...
- Android JSON 解析关键代码
Android Json 解析其实还是蛮重要的知识点,为什么这么说呢,因为安卓通信大部分的协议都是使用 json 的方式传输,我知道以前大部分是使用的 xml ,但是时代在发展社会在进步,json 成 ...
- iOS开发之Swift 4 JSON 解析指南
Apple 终于在 Swift 4 的 Foundation 的模块中添加了对 JSON 解析的原生支持. 虽然已经有很多第三方类库实现了 JSON 解析,但是能够看到这样一个功能强大.易于使用的官方 ...
- ios基础篇(二十七)—— Json解析
一.什么是Json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使 ...
- JSON数据解析 基础知识及链接收集
JSON数据解析学习 JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 是存储和交换文本信息的语法.类似 XML.但是JSON 比 ...
- Android基础总结(12)——XML和JSON解析
XML和JSON解析 在网络上传输数据时最常用的格式有两种:XML和JSON.本文主要就是学习如何对这两种常用的数据格式进行解析. 1.XML和JSON的定义 XML:扩展标记语言 (Extensib ...
- Objective-C ,ios,iphone开发基础:JSON解析(使用苹果官方提供的JSON库:NSJSONSerialization)
json和xml的普及个人觉得是为了简化阅读难度,以及减轻网络负荷,json和xml 数据格式在格式化以后都是一种树状结构,可以树藤摸瓜的得到你想要的任何果子. 而不格式化的时候json和xml 又是 ...
随机推荐
- 一 SpringMvc概述&入门配置
SpringMVC: 类似Struts2的MVC框架,属于SpringFrameWork的后续产品. 与Struts2的区别: 参数传递: Struts2通过模型驱动,属性设置set方法,值栈.类级 ...
- java并发AtomicIntegerFieldUpdater
java并发AtomicIntegerFieldUpdater 支持对象的成员变量原子操作类由AtomicIntegerFieldUpdater,AtomicLongFieldUpdater, Ato ...
- Cent OS下配置虚拟Ip地址
1.首先我们登录操作系统 用户名root 密码 123456 然后我们输入ip查询命名 ip addr 也可以输入 ifconfig查看ip,但此命令会出现3个条目,centos的ip地址是ens3 ...
- CH8 课后习题
8.1和8.2 #include <iostream> using namespace std; istream& f(istream& in) { int v; in & ...
- Python—处理Excel表格
一.使用xlrd和xlwt这两个库来处理excel,即xlrd是读excel的库,xlwt是写excel的库 1.使用 xlrd 读取Excel数据 # -*- coding:utf-8 -*- im ...
- SSH框架与SSI框架的区别
2013-03-04 13:45 1427人阅读 评论(0) 收藏 举报 一.SSH 整个配置如下图所示: 1. <?xml version="1.0" encoding=& ...
- Java系列之:看似简单的问题 静态方法和实例化方法的区别
(2011-12-06 15:28:26) 转载▼ 标签: 杂谈 分类: study 今天看书时一直没真正弄明白静态方法和实例方法的区别,就在网上搜索,找到一篇很好的文章,和大家分享一下: 这是一个经 ...
- hibernate部分源码解析and解决工作上关于hibernate的一个问题例子(包含oracle中新建表为何列名全转为大写且通过hibernate取数时如何不用再次遍历将列名(key)值转为小写)
最近在研究系统启动时将数据加载到内存非常耗时,想着是否有办法优化!经过日志打印测试发现查询时间(查询时间:将数据库数据查询到系统中并转为List<Map>或List<*.Class& ...
- JuJu团队1月4号工作汇报
JuJu团队1月4号工作汇报 JuJu Scrum 团队成员 今日工作 剩余任务 困难 飞飞 将model嵌入GUI 美化UI 无 婷婷 调试代码 提升acc 无 恩升 -- 写python版本的 ...
- win10安装mysql过程&&链接过程&&备份和导入数据&&grant命令
win10安装mysql过程&&链接过程&&备份和导入数据&&grant命令 一 .安装 一开始在mysql官网(https://www.mysql ...