gpt4 book ai didi

json - Swift:给定的数据不是有效的 JSON

转载 作者:行者123 更新时间:2023-12-02 00:08:37 25 4
gpt4 key购买 nike

自从昨天更新 xCode 后,我在控制台中收到错误消息,而且我没有从 API 获取数据。我收到此错误:

dataCorrupted(Swift.DecodingError.Context(codingPath: [], debugDescription: "The given data was not valid JSON.", underlyingError: Optional(Error Domain=NSCocoaErrorDomain Code=3840 "字符 0 周围的值无效。 "UserInfo={NSDebugDescription=字符 0 周围的无效值。})))

我不明白的是,我以前从来没有遇到过任何问题,现在我不知从哪里得到了这个错误,而且我也不知道问题是在服务器端还是在我的 swift 代码中......在这里,如果我如何提出请求:

        //    -- 1 -- Create an URL
if let url = URL(string: urlString){
// -- 2 -- Create a URLSession
let session = URLSession(configuration: .default)

let task = session.dataTask(with: url) { (data, response, error) in
if error != nil{
print(error!)
return
}
if let safeData = data {
self.parseJSON(EventDatas: safeData)
}
}
task.resume()
}
}

func parseJSON(EventDatas: Data){
let decoder = JSONDecoder()
do{
let decodedData = try decoder.decode(LuxCategoryData.self, from: EventDatas)
var test: [Int] = []
for object in decodedData.category {
let category: CategoryData = CategoryData()
category.idCategory = object.idCategory
category.dtTitle = object.dtTitle
dropDown.optionArray.append(category.dtTitle)
test.append(Int(category.idCategory)!)
self.categoryData.append(category)
}
dropDown.optionIds = test
}catch{
print(error)
}
}

这是我用来解析 JSON 的可解码结构:

struct LuxCategoryData : Decodable {
let category: [Category]
}

struct Category: Decodable {
let idCategory: String;
let dtTitle: String;
}

这是我在浏览器中发出请求时我的 JSON 的样子:

{
category: [
{
idCategory: "1",
dtTitle: "Cinema"
},
{
idCategory: "2",
dtTitle: "Bar"
},
{
idCategory: "5",
dtTitle: "Danse"
},
{
idCategory: "6",
dtTitle: "Nightlife"
},
{
idCategory: "10",
dtTitle: "Music"
}
]
}

最佳答案

您提供的 JSON 键周围没有包含 ""。这就是它给出无效 JSON 错误的原因。

试试下面的 JSON 格式,

{"category":[{"idCategory":"1","dtTitle":"Cinema"},{"idCategory":"2","dtTitle":"Bar"},{"idCategory":"5","dtTitle":"Danse"},{"idCategory":"6","dtTitle":"Nightlife"},{"idCategory":"10","dtTitle":"Music"}]}

关于json - Swift:给定的数据不是有效的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59786749/

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