привет, я пытаюсь получить больше опыта в том, как получить код JSON с веб-сайта, а затем проанализировать его.(см. код ниже) это работает, но я понимаю, что от Apple это "старый, 2017" способ сделать это.И у меня есть некоторые проблемы со словарем,
Вопрос1.как я могу улучшить приведенный ниже код без использования каких-либо сторонних методов или программного обеспечения.
как мне избавиться от дополнительных операторов, и я просто хочу напечатать значение print (jsondata ["title"])
Я надеюсь, что вы можете направить меня в правильном направлении.
thx Рон
см. Код
'' '
//: Playground - noun: a place where people can play
// put in some requirements to yse the playground
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
import Foundation
import UIKit
//just a check if I get some output in a variable and to see if the playground is working
var str = "this is a test to see if there is output"
// retrieve the data from a website and put it into an object called jsondata; print the size of jsondata in bytes and put it into a variable called data; put number of elements in jsondata into jsonelements
let url = URL(string: "https://jsonplaceholder.typicode.com/todos/1")
URLSession.shared.dataTask(with:url!, completionHandler: {(datasize, response, error) in
guard let data = datasize, error == nil else { return }
do {
let jsondata = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as! [String:Any]
//print the dictionary
print(jsondata)
// how many elements in the dictionary
let jsonelements = jsondata.count
print(jsonelements)
// Iterate through the dictionary and print the value per key
for (key,value) in jsondata {
print("\(key) = \(value)")
}
// get the values out of the dictionry
print(" ")
print(jsondata["title"])
print(jsondata["userID"])
print(jsondata["id"])
print(jsondata["completed"])
} catch let error as NSError {
print(error)
}
}).resume()
' ''
// get the values out of the dictionry
print(" ")
print(jsondata["title"])
print(jsondata["userID"])
print(jsondata["id"])
print(jsondata["completed"])
здесь я получаюВыражение «предупреждение», неявно приведенное из «Любого?»на любой
, почему я получаю предупреждение? и как мне напечатать просто print (jsondata ["title"] без предупреждения. Я думаю, что делаю это правильно