gpt4 book ai didi

json - 如何解码包含数组 Swift 4 的 JSON 文件?

转载 作者:行者123 更新时间:2023-11-28 10:39:01 24 4
gpt4 key购买 nike

我有一个 JSON 文件,我正在尝试对其进行解码,但收到一条错误消息:

typeMismatch(Swift.Dictionary, Swift.DecodingError.Context(codingPath: [_JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "Expected to decode Dictionary but found an array instead.", underlyingError: nil))

我的代码如下:

struct Phrase: Decodable {
let sentences: [String]
}


func getFromJSON() {

do {
let jsonURL = Bundle.main.url(forResource: "script", withExtension: "json")
let jsonDecoder = JSONDecoder()
let jsonData = try Data(contentsOf: jsonURL!)
let jsonSentence = try jsonDecoder.decode([Phrase].self, from: jsonData)
debugPrint(jsonSentence)

} catch {
print(error)
}
}

我一直在查看许多其他堆栈溢出问题,并且我注意到这些 JSON 文件的格式与我的不同。它们被格式化为字典,而我的是这样的-

[
["bin blue", "with A 2 soon"],
["set blue", "in A 9 soon"],
["lay blue", "at A 3 please"],
["3 5 zero zero 5 8"],
["place blue", "by A 6 now"],
["lay green", "at B ZERO now"],
["8 9 1 5 4 zero"]
]

我知道解码器正在寻找字典,但我如何让它解码数组呢?

最佳答案

我觉得你需要

let jsonSentence = try jsonDecoder.decode([[String]].self, from: jsonData)

关于json - 如何解码包含数组 Swift 4 的 JSON 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51713830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com