如何使用 SwiftyJSON 将数组转换为字典?
How to convert array to dictionary with SwiftyJSON?
我重组了端点 return 并希望我的前端代码以旧方式工作。我在数组中有 3 个值,想将其转换为字典 [Int64: JSON]
。我正在使用 SwiftyJSON。谢谢。
我有:
let time = JSON(rawValue: x)!.int64Value //1614748500
let like = point["val"].int64Value //91
let dislike = JSON.init(integerLiteral: trend.rawValue) //3
// po print(array) [1614748500, 91, 3]
0 element
// po arrray ▿ 3 elements
- 0 : 1614748500
- 1 : 91
- 2 : 3
我想要的样子
// po print(array) [1614748500: [
1614748500,
91,
3
]
0 element
// po array ▿ 1 elements
▿ 0 : 2 elements
- key : 1614748500
▿ value : [
1614748500,
91,
3
]
▿ rawArray : 3 elements
- 0 : 1614748500
- 1 : 91
- 2 : 3
- rawDictionary : 0 elements
- rawString : ""
- rawNumber : 0
- rawNull : <null>
- rawBool : false
- type : SwiftyJSON.Type.array
- error : nil
所以您有一个包含 3 个元素的数组,并希望将其转换为包含三个键值对的字典。为此,您首先要决定要使用的键。可以是“第一”、“第二”和“第三”,但希望你有更多有意义的键。然后你这样转换:
let array = [“string1”, “string2”, “string3”]
let dict = [“first”: array[0], “second”: array[1], “third”: array[2]]
就是这样。 JSON.
真的不需要第三方库
而[Int64:JSON]当然不是字典。字典 = key/value 对。对于 JSON 字典,键必须是字符串。
花了我一段时间终于弄明白了。
var dict = [Int64: JSON]()
let time = JSON(rawValue: x)!.int64Value //1614748500
let like = point["val"].int64Value //91
let dislike = JSON.init(integerLiteral: trend.rawValue) //3
dict[time] = JSON(arrayLiteral: time, like, dislike)
po print(dict)
[1614748500: [
1614748500,
91,
3
]
我重组了端点 return 并希望我的前端代码以旧方式工作。我在数组中有 3 个值,想将其转换为字典 [Int64: JSON]
。我正在使用 SwiftyJSON。谢谢。
我有:
let time = JSON(rawValue: x)!.int64Value //1614748500
let like = point["val"].int64Value //91
let dislike = JSON.init(integerLiteral: trend.rawValue) //3
// po print(array) [1614748500, 91, 3]
0 element
// po arrray ▿ 3 elements
- 0 : 1614748500
- 1 : 91
- 2 : 3
我想要的样子
// po print(array) [1614748500: [
1614748500,
91,
3
]
0 element
// po array ▿ 1 elements
▿ 0 : 2 elements
- key : 1614748500
▿ value : [
1614748500,
91,
3
]
▿ rawArray : 3 elements
- 0 : 1614748500
- 1 : 91
- 2 : 3
- rawDictionary : 0 elements
- rawString : ""
- rawNumber : 0
- rawNull : <null>
- rawBool : false
- type : SwiftyJSON.Type.array
- error : nil
所以您有一个包含 3 个元素的数组,并希望将其转换为包含三个键值对的字典。为此,您首先要决定要使用的键。可以是“第一”、“第二”和“第三”,但希望你有更多有意义的键。然后你这样转换:
let array = [“string1”, “string2”, “string3”]
let dict = [“first”: array[0], “second”: array[1], “third”: array[2]]
就是这样。 JSON.
真的不需要第三方库而[Int64:JSON]当然不是字典。字典 = key/value 对。对于 JSON 字典,键必须是字符串。
花了我一段时间终于弄明白了。
var dict = [Int64: JSON]()
let time = JSON(rawValue: x)!.int64Value //1614748500
let like = point["val"].int64Value //91
let dislike = JSON.init(integerLiteral: trend.rawValue) //3
dict[time] = JSON(arrayLiteral: time, like, dislike)
po print(dict)
[1614748500: [
1614748500,
91,
3
]