У меня есть объект json, который я получаю от обратного вызова iOS api javascript, и я отправлю тот же json на php бэкенд, чтобы проверить его. В android все работает нормально, но в приложении IOS проблема в том, что когда я получаю message.body
, который равен json, он отображается, как показано ниже.
{
OrderNumber = 01869756;
"customer_key" = SLApO64gAktgmuLl;
"order_address" = "{\"address\":\"No. 7 Ogwui Road Enugu\",\"city\":\"Enugu\"}";
"order_amount" = 242550;
"order_currency" = "₦";
"order_currency_iso" = NGN;
"order_shipping" = 0;
"order_stores" = {
zOEZPU8sGCADHRbr8yw4 = {
amount = 242550;
currency = "₦";
delivery = 0;
total = 242550;
};
};
"order_subtotal" = 242550;
"order_subtotal_cent" = 24255000;
"order_tax" = "4123.35";
"order_tax_cent" = 412335;
"order_total" = "246673.35";
"order_total_cent" = 24667335;
status = 200;
}
Когда я передаю указанное выше IOS форматировать на php backend json_decode($payload)
он всегда возвращает null. Пожалуйста, как мне преобразовать это в настоящий формат json Я пробовал код ниже, но он не работает?
let encoder = JSONEncoder()
if let jsonData = try? encoder.encode("\(message.body)") {
if let jsonString = String(data: jsonData, encoding: .utf8) {
print("dictFromJSON", jsonString)
}
}
А также я пробовал это
if let response = message.body as? Dictionary<String, AnyObject> {
let encoder = JSONEncoder()
if let jsonData = try? encoder.encode("\(response)") {
if let jsonString = String(data: jsonData, encoding: .utf8) {
print("dictFromJSON", jsonString)
}
}
}
Но выше вывод кода примерно так, как показано ниже, что не является допустимым json.
[
"OrderNumber": 01869756,
"customer_key": SLApO64gAktgmuLl,
"order_address": {\"address\":\"No. 7 Ogwui Road Enugu\",\"city\": \"Enugu\"};
"order_amount": 242550,
"order_currency": ₦,
"order_currency_iso: NGN,
"order_shipping" = 0;
"order_stores": {
zOEZPU8sGCADHRbr8yw4 = {
amount = 242550;
currency = "₦";
delivery = 0;
total = 242550;
};
};
"order_subtotal": 242550,
"order_subtotal_cent: 24255000,
"order_tax": 4123.35,
"order_tax_cent": 412335,
"order_total": 246673.35",
"order_total_cent": 24667335,
"status" = 200
]