下記のリクエストを実行するときに次のエラーが発生します。json NSCocoaErrorDomainコード= 3840でこの問題に直面していて、swift4でテキストが配列で始まっていないxcode 9.0.1
この問題を引き起こしている可能性が何エラードメイン= NSCocoaErrorDomainコード= 3840「JSONテキストは、配列やオブジェクトおよびフラグメントが設定されていないことを可能にするオプションを 開始されませんでした。」 のUserInfo = {NSDebugDescription = JSONテキストはフラグメントが設定されていない可能にするために、配列または オブジェクトおよびオプションを指定して起動しませんでした。}
@IBAction func onPostTapped(_ sender: Any) {
let parameters = ["Name": "Yogesh", "Mobile": "1212121212", "DOB": "1122/12/12", "Address": "qwqwqwqw"]
//https://jsonplaceholder.typicode.com/posts
guard let url = URL(string: "http://localhost/webservice/Register.php") else { return }
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
guard let httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: []) else { return }
request.httpBody = httpBody
let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) in
if let response = response {
print(response)
}
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
} catch {
print(error)
}
}
}.resume()
}
?
エラーは 'JSONSerialization.jsonObject()'の 'catch'ですか? 'let dataStr = String(data:data、encoding:.utf8)'(印刷してください)を表示していますか?しかし、私は 'dataStr'はJSON Valid(オンラインのJSON Validatorがあります)をチェックしていないと思います。 – Larme
> 200件の検索結果*「JSONテキストは配列やオブジェクトで始まらず、フラグメントが設定できないようにするオプション」*、どれも役に立たなかったのですか? –