func retrieveData(englishWord : String, completionHandler : (success: Bool, data : [String : AnyObject]?, errorString : String?) -> Void) {
let baseURL = "https://api.pearson.com/v2/dictionaries/ldoce5/entries?headword=vodka"
let urlString = baseURL
print(urlString)
let url = NSURL(string: urlString)
let request = NSMutableURLRequest(URL: url!)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request) { data, response, error in
if error != nil {
completionHandler(success: false, data: nil, errorString: "There was a networking error")
return
}
if data == nil {
completionHandler(success: false, data: nil, errorString: "There was an error in the request for data")
return
}
let parsedResult : AnyObject?
do {
parsedResult = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments) as! [String : AnyObject]
print(parsedResult!)
} catch {
completionHandler(success: false, data: nil, errorString: "There was an error in the conversion for data")
return
}
}
task.resume()
}
所以现在print(parsedResult!)
给出:NSJSONSerialization.JSONObjectWithData更改返回结果的内容?
{ 数= 1; limit = 10; offset = 0; 结果=( { 数据集=( ldoce5, 字典 ); 词条=伏特加酒; ID = cqAG3cXCxZ; “part_of_speech”=名词; 发音=( { 音频=( { LANG = “英英”; 类型=发音; URL = “/v2/dictionaries/assets/ldoce/gb_pron/vodka0205.mp3”; } ); IPA = “\ U02c8v \ U0252dk \ U0259”; }, { audio =( lang =“American English”; type =发音; url =“/v2/dictionaries/assets/ldoce/us_pron/vodka.mp3”; } ); ipa =“\ U02c8v \ U0251 \ U02d0dk \ U0259”; lang =“美国英语”; } ); 感官=( { 定义=( “一强明确酒精饮料最初从俄罗斯,或这种玻璃” ); } ); url =“/ v2/dictionaries/entries/cqAG3cXCxZ”; } ); status = 200; total = 1; url =“/ v2/dictionaries/ldoce5/entries?headword = vodka”; }
但查询网址:Here
我张贴在这里为方便起见:
{ “地位”:200, “偏移”:0, “限制”:10, “计数”:1, “总”:1, “URL”: “/ V2 /字典/ ldoce5 /条目词条=伏特加”, “结果”:[{ “数据集”:[ “ldoce5”, “字典”] ,“headword”:“vodka”,“id”:“cqAG3cXCxZ”,“part_of_speech”:“名词”,“发音”:[{“audio”:[{“lang”:“British English”,“type” “发音”, “URL”: “/ V2 /字典/资产/ LDOCE/gb_pron/vodka0205.mp3”}], “IPA”: “vɒdkə”},{ “音频”:[{ “郎”:“阿梅尔ican English“,”type“:”发音“,”url“:”/ v2/dictionaries/assets/ldoce/us_pron/vodka.mp3“}],”ipa“:”vɑːdkə“,”lang“:” “}],”感官“:[{”definition“:[”来自俄罗斯的一种清淡的酒精饮料,或者一杯这样的“]}],”url“:”/ v2/dictionaries/entries/cqAG3cXCxZ“} ]}
是否有原因为什么NSJSONSerialization
正在更改我的数据,因为打印出来的数据与Pearson API返回的数据明显不同?
,我可以看到的唯一区别是用于由表示[API中和阵列型括号记号(在序列仍可以把它解析到对象然后与另一个区别是。你的API和'\ U02c8v \ U0251 \ U02d0dk \ U0259'中的'vɒdkə'打印结果可能需要用适当的编码类型对结果进行编码 –