Я использую WKUserScript
для связи между UIWebView
и сервером. Этот конкретный код позволит пользователю искать географические места. Я получаю сообщение обратно только штрафом в функцииSwift Невозможно преобразовать NSString в JSON
func userContentController(userContentController: WKUserContentController,
didReceiveScriptMessage message: WKScriptMessage)
Переменная message
имеет AnyObject
тело. Это значение, которое я хочу преобразовать в JSONObject
, поэтому я могу получить доступ к его содержимому. Вот message.body
:
{
"status":"OK",
"predictions":[
{
"description":"Dallas, TX, United States",
"id":"fa589a36153613fc17b0ebaebbea7c1e31ca62f0",
"matched_substrings":[{"length":6,"offset":0}],
"place_id":"ChIJS5dFe_cZTIYRj2dH9qSb7Lk",
"reference":"CkQxAAAAJNbPZRkdsyxuKT4FzFmgpBx9HWnZLNhxprRQB0zy62sHCXo3tkHfV_M5dK4Cabp2KL43nIKAAyrv_RI4qbvNfRIQ1dzEGuqywMIAlNg_1AKvoRoUQN32C2uNo4KzZ9j58lB-wjPpjJw",
"terms":[
{"offset":0,"value":"Dallas"},
{"offset":8,"value":"TX"},
{"offset":12,"value":"United States"}
],
"types":["locality","political","geocode"]},
{
"description":"Dallas Athletic Club Drive, Dallas, TX, United States",
"id":"37c4f8d416b9d3975ad57662eb022a0d410e8f76",
"matched_substrings":[{"length":6,"offset":0}],
"place_id":"EjVEYWxsYXMgQXRobGV0aWMgQ2x1YiBEcml2ZSwgRGFsbGFzLCBUWCwgVW5pdGVkIFN0YXRlcw",
"reference":"CkQ5AAAArHSWkIVO6uTH4qE6LxRHshWAfgSnMfxXiBxqf_ZO3O-xQ8RIKKHA9QT7LKwf6Ic788Bzy_I2FpemvcQhE6o5ZRIQ5td4XsjIiyX6D6_dgI3YIxoURu_oROPuOguuorK3Tw11veN7XJI",
"terms":[
{"offset":0,"value":"Dallas Athletic Club Drive"},
{"offset":28,"value":"Dallas"},
{"offset":36,"value":"TX"},
{"offset":40,"value":"United States"}
],
"types":["route","geocode"]
}
]
}
JSONObject
имеет статус, который позволяет мне знать, если результаты справедливы или, если произошла ошибка. Я использую SwiftyJSON
для создания и доступа к моим JSON
. Я создаю JSONObject
:
let json = JSON(message.body as! NSString)
и я пытаюсь получить доступ к ключу состояния, как:
if let status = json["status"].string {
print("status: \(status)")
}
Но я не в состоянии достигнуть о печати. Я заметил, что NSDictionary
и JSON
имеют новые строковые символы, когда вы распечатываете их на консоль, но я не думал, что это изменит ситуацию. Кто-нибудь знает, почему я не могу получить переменную статуса из JSON
?
Спасибо. Я не знаю, почему я думал, что ты сможешь это сделать. –
Добро пожаловать. – Moritz