Я столкнулся с ошибкой при выполнении запроса POST API: «Ошибка анализа JSON».IOS

Программируем под IOS
Ответить
Anonymous
 Я столкнулся с ошибкой при выполнении запроса POST API: «Ошибка анализа JSON».

Сообщение Anonymous »

Я новичок в SwiftUI, и у меня возникли проблемы с публикацией запроса API. Я все проверил, но все равно получаю сообщение об ошибке сервера 500. Я застрял на этом, пожалуйста, помогите, если возможно.
Данные ответа:



Server Error (500)


Server Error (500)




Ошибка анализа JSON: Error Domain=NSCocoaErrorDomain Code=3840 «Недопустимое
значение в строке 2, столбец 0». UserInfo={NSDebugDescription=Invalid
значение вокруг строки 2, столбец 0., NSJSONSerializationErrorIndex=1}

Мой код: do{

// Define the data to be sent
let data: [String: String] = [
"ad_id": "00000000-0000-0000-0000-000000000000",
"device_id": "EE07C4CF-53CB-49D7-9991-111111111111",
"device_token": "NOTFOUND"
]

let encoder = JSONEncoder()
// Convert the data dictionary to JSON data using JSONEncoder
let jsonData = try encoder.encode(data)

// Define the User-Agent header value
let userAgentHeader = ["User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"]

// Convert User-Agent header dictionary to JSON string
guard let headerData = try? JSONSerialization.data(withJSONObject: userAgentHeader, options: []),
let headerJSON = String(data: headerData, encoding: .utf8) else {
print("Failed to convert User-Agent header dictionary to JSON string")
return
}

// Create the request
var request = URLRequest(url: url)
request.httpMethod = "POST"

// Define the headers dictionary
let headers: [String: String] = [
"Content-Type": "application/json",
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
]

// Add the headers to the request
for (key, value) in headers {
request.setValue(value, forHTTPHeaderField: key)
}

request.httpBody = jsonData

if let reqString = String(data: jsonData, encoding: .utf8) {
print("paramater data: \(reqString)")
}

// Perform the request using URLSession
URLSession.shared.dataTask(with: request) { data, response, error in
// Handle the response
if let error = error {
print("Error: \(error)")
return
}

// Handle the data
guard let data = data else {
print("No data received")
return
}

// Print the data as a string to see what you received
if let responseString = String(data: data, encoding: .utf8) {
print("Response data: \(responseString)")
}

// Parse the response data
do {
// Try parsing the JSON with allowFragments option
let json = try JSONSerialization.jsonObject(with: data, options: [.mutableContainers, .allowFragments])
print("Response JSON: \(json)")
} catch {
print("Error parsing JSON: \(error)")
}
}.resume()
} catch {
// Handle the encoding error
print("Error encoding data to JSON: \(error)")
}


Подробнее здесь: https://stackoverflow.com/questions/783 ... rsing-json
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»