Swift解析JSON网址并在网址中添加数字

时间:2018-09-09 01:46:44

标签: json swift parsing

我需要从api获取信息,但是在查询中看起来像这样:http://website.name&q=chocolate

我的问题是,我要寻找一个特定的大小,我需要添加%20的空格。例如,寻找250克巧克力: http://website.name&q=chocolate%20250g。 Swift无法识别250g,它给我一个错误:无效的url字符串。如何制作查询中带有数字的json网址?

编辑:

 let jsonUrlString = self.getJsonUrl(pCode: postalCode, key: searchKey)

 guard let url = URL(string: jsonUrlString) else {return}

我将这个URL用于URLSession。

我使用以下代码来格式化查询中的间距:

 private func formatSearchKey(key: String)->String{
    return key.replacingOccurrences(of: " ", with: "%20")
}

例如,当我从查询中删除数字时,cookies%20和%20milk就可以了。当我做250g饼干:cookies%20250g之类的操作时,它会给我一个错误

编辑2.0

  private func getJsonUrl(pCode: String, key: String) -> String{
    //Create a function that creates a url based on postal code, and key values that it gets back from my database
    return "\(JSON_URL_BASE)postal_code=\(pCode)&q=\(key)"
}

private func formatPostalCode(pCode: String) -> String{
    return pCode.replacingOccurrences(of: " ", with: "")
}

private func formatSearchKey(key: String)->String{
    return key.replacingOccurrences(of: " ", with: "%20")
}

关键值是我遇到的麻烦。有时,它们会返回有效的字符串,例如“饼干和牛奶”。但是,当它返回“ cookies 250g”时,它没有。

0 个答案:

没有答案