JSONの形式が間違えていますので、以下のJSONの場合の回答をします。
{
"entities": {
"description": {
"urls": [
{
"display_url": "test.net/aaa.php?id=",
"expanded_url": "http://test.net/aaa.php?id=",
"indices": [
70,
93
],
"url": "https://t.co/iiiiii"
}
]
}
}
}
文字列からJSONを作成してそれをパースしています、階層が深いので長くなりますが以下の様にすることでdisplay_url
を取得できます。
※ Playgroundにそのまま貼り付けて確認出来ます。
swift
1import Foundation
2
3// JSON Stringを作成
4let jsonString: String = "{\"entities\": {\"description\": {\"urls\": [{\"display_url\": \"test.net/aaa.php?id=\",\"expanded_url\": \"http://test.net/aaa.php?id=\",\"indices\": [70,93],\"url\": \"https://t.co/iiiiii\"}]}}}"
5
6do {
7
8 if let data = jsonString.data(using: .utf8) {
9
10 // JSONシリアライズ
11 if let jsonObject = try JSONSerialization.jsonObject(with: data, options: []) as? NSDictionary,
12 let entities = jsonObject["entities"] as? NSDictionary,
13 let description = entities["description"] as? NSDictionary,
14 let urls = description["urls"] as? NSArray,
15 let firstObject = urls.firstObject as? NSDictionary,
16 let display_url = firstObject["display_url"] as? String {
17
18 print(display_url)
19 //=> test.net/aaa.php?id=
20 }
21 }
22
23} catch {
24
25}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/07 09:43