JSON是我们日常中最常使用的数据格式,SwiftUI里面如何将JSON转换成Dictionary,又如何将Dictionary字典转换为JSON格式呢?本文将给您提供最优的解决方案和代码
本文价值与收获
看完本文后,您将能够作出下面的界面
看完本文您将掌握的技能
- 掌握JSON转Dictionary字典
- 掌握Dictionary转JSON
- 掌握Dicctionary转String
- 掌握SwiftUI多行文本输入
JSON 简介 (高手可以掠过)
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON 格式
下面我们看看JSON长成什么样子
[
{
"category" : "QQ3365059189",
"city" : "Eaking",
"id" : 1007,
"park" : "Charley Rivers National Preserve",
"coordinates" : {
"longitude" : -143.12258600000001,
"latitude" : 65.350020999999998
},
"imageName" : "yukon_charleyrivers",
"name" : "Charley Rivers",
"state" : "Alaska"
}
]
Dictionary字典
Dictionary字典用于存储key-value的容器。字典是哈希表的类型,提供对它包含的条目的快速访问。表中的每个条目都使用其键进行标识,该键是可哈希类型(如字符串或数字)。您可以使用该键检索相应的值,该值可以是任何对象。在其他语言中,类似的数据类型称为哈希或关联的数组。
dictionary初始化
1、数据初始化
var responseMessages = [200: "OK",
403: "Access forbidden",
404: "File not found",
500: "Internal server error"]
2、空值初始化
var emptyDict: [String: String] = [:]
获取和设置数值
1、获取数值
print(responseMessages[200])
2、遍历数据
let httpResponseCodes = [200, 403, 301]
for code in httpResponseCodes {
if let message = responseMessages[code] {
print("Response \(code): \(message)")
} else {
print("Unknown response \(code)")
}
}
// Prints "Response 200: OK"
// Prints "Response 403: Access Forbidden"
// Prints "Unknown response 301"
3、设置数值
responseMessages[301] = "Moved permanently"
print(responseMessages[301])
// Prints "Optional("Moved permanently")"
4、通过nil删除数据
responseMessages[404] = "Not found"
responseMessages[500] = nil
print(responseMessages)
// Prints "[301: "Moved permanently", 200: "OK", 403: "Access forbidden", 404: "Not found"]"
5、快速排序
var interestingNumbers = ["primes": [2, 3, 5, 7, 11, 13, 17],
"triangular": [1, 3, 6, 10, 15, 21, 28],
"hexagonal": [1, 6, 15, 28, 45, 66, 91]]
for key in interestingNumbers.keys {
interestingNumbers[key]?.sort(by: >)
}
print(interestingNumbers["primes"]!)
// Prints "[17, 13, 11, 7, 5, 3, 2]"
代码实现
1、转换代码