无法从 json 数据中提取价值
Can't pull value from json data
我看到了很多关于这个问题的问题和答案。我已经试过了,但我想不通。我已经访问了我的所有者服务器的响应 JSON 没问题。但是现在我正在尝试使用第 3 方 API 并且遇到了麻烦。我正在使用 Alamofire 和 SwiftyJSON。
让json = JSON(数据:数据)
这就是 json 的样子:
{"maxResults":50,"startAt":0,"isLast":true,"values":[{"id":1,"self":"https://stackrank.atlassian.net/rest/agile/1.0/board/1","name":"JI board","type":"scrum"},{"id":2,"self":"https://stackrank.atlassian.net/rest/agile/1.0/board/2","name":"Board2","type":"scrum"}]}
为什么我无法访问任何值?
json["maxResults"].numberValue 给我 '0'
json["values"].arrayValue 给我一个空数组 []
我看到了很多关于编码等的答案...但我无法让它工作。
以下是 Alamofire 中显示响应格式的片段:
Alamofire.request(request).responseJSON {
response in
switch response.result {
case .success:
success(response.data!)
您获取的对象不能是 SwiftJSON 对象。这是完美运行的游乐场代码(需要 SwiftyJSON.swift 在 Sources 文件夹中):
let jsontext = "{\"maxResults\":50,\"startAt\":0,\"isLast\":true,\"values\":[{\"id\":1,\"self\":\"https://stackrank.atlassian.net/rest/agile/1.0/board/1\",\"name\":\"JI board\",\"type\":\"scrum\"},{\"id\":2,\"self\":\"https://stackrank.atlassian.net/rest/agile/1.0/board/2\",\"name\":\"Board2\",\"type\":\"scrum\"}]}"
let data = jsontext.data(using: .utf8)!
let json = JSON(data)
print(json["maxResults"].intValue)
print(json["values"].arrayValue)
这非常有效。
就原始数据而言,:
Alamofire.request(.GET, url).validate().responseJSON { response in
switch response.result {
case .Success(let data):
let json = JSON(data)
let maxResults = json["maxResults"].intValue
let values = json["values"].arrayValue
print(maxResults)
case .Failure(let error):
print("Request failed with error: \(error)")
}
}
我看到了很多关于这个问题的问题和答案。我已经试过了,但我想不通。我已经访问了我的所有者服务器的响应 JSON 没问题。但是现在我正在尝试使用第 3 方 API 并且遇到了麻烦。我正在使用 Alamofire 和 SwiftyJSON。
让json = JSON(数据:数据)
这就是 json 的样子:
{"maxResults":50,"startAt":0,"isLast":true,"values":[{"id":1,"self":"https://stackrank.atlassian.net/rest/agile/1.0/board/1","name":"JI board","type":"scrum"},{"id":2,"self":"https://stackrank.atlassian.net/rest/agile/1.0/board/2","name":"Board2","type":"scrum"}]}
为什么我无法访问任何值?
json["maxResults"].numberValue 给我 '0'
json["values"].arrayValue 给我一个空数组 []
我看到了很多关于编码等的答案...但我无法让它工作。
以下是 Alamofire 中显示响应格式的片段:
Alamofire.request(request).responseJSON {
response in
switch response.result {
case .success:
success(response.data!)
您获取的对象不能是 SwiftJSON 对象。这是完美运行的游乐场代码(需要 SwiftyJSON.swift 在 Sources 文件夹中):
let jsontext = "{\"maxResults\":50,\"startAt\":0,\"isLast\":true,\"values\":[{\"id\":1,\"self\":\"https://stackrank.atlassian.net/rest/agile/1.0/board/1\",\"name\":\"JI board\",\"type\":\"scrum\"},{\"id\":2,\"self\":\"https://stackrank.atlassian.net/rest/agile/1.0/board/2\",\"name\":\"Board2\",\"type\":\"scrum\"}]}"
let data = jsontext.data(using: .utf8)!
let json = JSON(data)
print(json["maxResults"].intValue)
print(json["values"].arrayValue)
这非常有效。
就原始数据而言,
Alamofire.request(.GET, url).validate().responseJSON { response in
switch response.result {
case .Success(let data):
let json = JSON(data)
let maxResults = json["maxResults"].intValue
let values = json["values"].arrayValue
print(maxResults)
case .Failure(let error):
print("Request failed with error: \(error)")
}
}