Swift 三方包 swiftyJSON 的使用

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 当你需要在 Swift 项目中处理 JSON 数据时,SwiftyJSON 是一个强大且易用的工具。它提供了一种简单的方式来解析和操作 JSON 数据,避免了繁琐的手动解析过程。本篇博客将介绍 SwiftyJSON 的基本使用方法,以及一些需要注意的事项,帮助你更好地使用 SwiftyJSON 处理 JSON 数据。SwiftyJSON 是一个轻量级的 Swift 库,用于处理 JSON 数据。它通过提供易于使用的 API,让你可以快速地解析和操作 JSON,无需繁琐的类型转换和错误处理。

Swift 三方包 swiftyJSON 的使用

当你需要在 Swift 项目中处理 JSON 数据时,SwiftyJSON 是一个强大且易用的工具。它提供了一种简单的方式来解析和操作 JSON 数据,避免了繁琐的手动解析过程。本篇博客将介绍 SwiftyJSON 的基本使用方法,以及一些需要注意的事项,帮助你更好地使用 SwiftyJSON 处理 JSON 数据。SwiftyJSON 是一个轻量级的 Swift 库,用于处理 JSON 数据。它通过提供易于使用的 API,让你可以快速地解析和操作 JSON,无需繁琐的类型转换和错误处理。

cocoapods 依赖引入

pod 'SwiftyJSON', '~> 5.0'

swiftyJSON 使用

引入依赖

import SwiftyJSON

准备数据

let jsonStr = "{\"origin\":{\"error\":0.002215790096670389,\"time\":0.04535689949989319},\"pareto\":[0],\"variant\":[{\"error\":0.005277779884636402,\"frag\":\"1000/224/22150/simplShaderData/SIMPL_SHADER-15369/frag_0_43m.glsl\",\"index\":43,\"loop\":0,\"time\":-0.1039699986577034,\"vert\":\"1000/224/22150/simplShaderData/SIMPL_SHADER-15369/vert_0_43m.glsl\"},{\"error\":0.005277779884636402,\"frag\":\"1000/224/22150/simplShaderData/SIMPL_SHADER-15369/frag_0_45m.glsl\",\"index\":45,\"loop\":0,\"time\":-0.10127600282430649,\"vert\":\"1000/224/22150/simplShaderData/SIMPL_SHADER-15369/vert_0_45m.glsl\"}]}"

if let data = jsonStr.data(using: .utf8) {
    
 if let json = try? JSON(data: data) {
    
   //todo
 }
}

//根据 json path 来获取值

//从一个数组中获取 int
let paretoVal = json["pareto"][0].intValue

//获取一个json 数组的某个 key 组成的字符串
let vertArr = json["variant"].arrayValue.map{
    $0["vert"].stringValue}

//自定义 key path 来访问
let key : [JSONSubscriptType] = ["variant", 0 , "time"];
let time = json[key].doubleValue;
// Just the same
let name = json["variant"][0]["time"].doubleValue;
// Alternatively
let name = json["variant", 0 , "time"].doubleValue;

//遍历json
for (key,subJson):(String, JSON) in json {
    
 print("key = \(key)");
 print("val = \(subJson)");
}

//如果 json 是数组
let jsonArray: JSON = [
 ["name": "Alice", "age": 25],
 ["name": "Bob", "age": 28]
]

for (i,subJson):(String, JSON) in jsonArray {
    
 print("key = \(i)");
 print("val = \(subJson)");
}
//注意,i 的类型一直都是 String ,尽管json是个数组

SwiftyJSON 是一个强大的 Swift 库,可以大大简化 JSON 数据的解析和操作过程。通过安装、导入和使用 SwiftyJSON,你可以轻松地处理 JSON 数据,使你的 Swift 项目开发更加高效。然而,在使用过程中要注意错误处理、数据类型、可选值和性能等方面的问题。

相关文章
|
5月前
|
安全 Swift
在Swift中,解包
在Swift中,解包
170 3
|
Swift iOS开发
iOS开发 - 适合工程多环境切换(swift环境),适合经常打很多不同环境包的人
iOS开发 - 适合工程多环境切换(swift环境),适合经常打很多不同环境包的人
281 0
iOS开发 - 适合工程多环境切换(swift环境),适合经常打很多不同环境包的人
|
程序员 API Swift
swift微博第11天(三方框架的导入和手动导入的桥接以及swift单粒)
swift微博第11天(三方框架的导入和手动导入的桥接以及swift单粒)
171 0
swift微博第11天(三方框架的导入和手动导入的桥接以及swift单粒)
|
JSON 数据格式 Swift
【swift学习笔记】四.swift使用Alamofire和swiftyJson
  Alamofire是AFNetworking的swift版本,功能灰常强大。 github:https://github.com/Alamofire/Alamofire   SwiftyJSON是操作json的非常棒的开源库 github:https://github.
1226 0
|
JSON 数据格式 iOS开发
[快速学会Swift第三方库] SwiftyJSON篇
[快速学会Swift第三方库] SwiftyJSON篇 SwiftyJSON使得用Swift处理JSON数据更加容易。这是解析JSON字符串封装类。实现功能与Javascript中的JSON.parse相近,使用方便。 目录 快速学会Swift第三方库 SwiftyJSON篇 目录 编码之前 导入SwiftyJSON 其他操作 解析本地JSON 示
3185 0
|
5月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
339 2
|
3月前
|
Unix 调度 Swift
苹果iOS新手开发之Swift 中获取时间戳有哪些方式?
在Swift中获取时间戳有四种常见方式:1) 使用`Date`对象获取秒级或毫秒级时间戳;2) 通过`CFAbsoluteTimeGetCurrent`获取Core Foundation的秒数,需转换为Unix时间戳;3) 使用`DispatchTime.now()`获取纳秒级精度的调度时间点;4) `ProcessInfo`提供设备启动后的秒数,不表示绝对时间。不同方法适用于不同的精度和场景需求。
103 3
|
2月前
|
存储 移动开发 Swift
使用Swift进行iOS应用开发:探索现代移动开发的魅力
【8月更文挑战第12天】使用Swift进行iOS应用开发,不仅能够享受到Swift语言带来的简洁、快速、安全的编程体验,还能够充分利用iOS平台提供的丰富资源和强大功能。然而,iOS应用开发并非易事,需要开发者具备扎实的编程基础、丰富的实践经验和不断学习的精神。希望本文能够为您的iOS应用开发之旅提供一些有益的参考和帮助。