Swift 三方包 swiftyJSON 的使用

简介: 当你需要在 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 项目开发更加高效。然而,在使用过程中要注意错误处理、数据类型、可选值和性能等方面的问题。

相关文章
|
2天前
|
安全 Swift
在Swift中,解包
在Swift中,解包
96 3
|
Swift iOS开发
iOS开发 - 适合工程多环境切换(swift环境),适合经常打很多不同环境包的人
iOS开发 - 适合工程多环境切换(swift环境),适合经常打很多不同环境包的人
224 0
iOS开发 - 适合工程多环境切换(swift环境),适合经常打很多不同环境包的人
|
JSON 数据格式 Swift
【swift学习笔记】四.swift使用Alamofire和swiftyJson
  Alamofire是AFNetworking的swift版本,功能灰常强大。 github:https://github.com/Alamofire/Alamofire   SwiftyJSON是操作json的非常棒的开源库 github:https://github.
1196 0
|
JSON 数据格式 iOS开发
[快速学会Swift第三方库] SwiftyJSON篇
[快速学会Swift第三方库] SwiftyJSON篇 SwiftyJSON使得用Swift处理JSON数据更加容易。这是解析JSON字符串封装类。实现功能与Javascript中的JSON.parse相近,使用方便。 目录 快速学会Swift第三方库 SwiftyJSON篇 目录 编码之前 导入SwiftyJSON 其他操作 解析本地JSON 示
3146 0
|
2天前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
108 2
|
2天前
|
监控 API Swift
用Swift开发iOS平台上的上网行为管理监控软件
在当今数字化时代,随着智能手机的普及,人们对于网络的依赖日益增加。然而,对于一些特定场景,如家庭、学校或者企业,对于iOS设备上的网络行为进行管理和监控显得尤为重要。为了满足这一需求,我们可以利用Swift语言开发一款iOS平台上的上网行为管理监控软件。
213 2
|
2天前
|
监控 Swift iOS开发
局域网计算机监控软件中利用Swift构建iOS端的移动监控应用
在局域网计算机监控软件的开发中,构建iOS端的移动监控应用是一项关键任务。本文将介绍如何利用Swift语言实现这一目标,通过多个代码示例展示关键功能的实现。
225 1
|
2天前
|
安全 JavaScript 前端开发
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
82 0

相关课程

更多