我正在开发一个项目,它从 API 读取 json,它提供不同国家的货币,输出如下。
{
base = EUR;
date = "2019-08-03";
rates = {
AED = "4.08777";
AFN = "89.092349";
ALL = "121.761514";
AMD = "529.6588400000001";
ANG = "1.985008";
AOA = "391.621548";
ARS = "49.530913";
AUD = "1.636268";
AWG = "2.003316";
AZN = "1.897631";
BAM = "1.960138";
BBD = "2.245272";
BDT = "94.033858";
BGN = "1.960138";
BHD = "0.419517";
.
.
.
};
success = 1;
timestamp = 1564832346;
}
如您所见,基础是 EUR,代表欧元,我想将基础更改为美元。
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
pickerView.dataSource = self
pickerView.delegate = self
//Getting data
print("Hello Wrold")
let url = URL(string: "http://data.fixer.io/api/latest?access_key=")
print(url!)
let task = URLSession.shared.dataTask(with: url!) { (data, response, error) in
print("Hello Wrold3")
if (error != nil)
{
print("ERROR")
}
else
{
print("Hello Wrold2")
if let content = data
{
do
{
let myJson = try JSONSerialization.jsonObject(with: content, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject
print(myJson)
}
catch
{
}
}
}
}
task.resume()
}
我试图通过写
myJson.base
来达到它,但似乎它不理解它。
有人知道该怎么做吗?
这个问题与 JSON 无关,而是如何告诉 api 使用不同的基础货币。
https://data.fixer.io/api/latest
? access_key = API_KEY
& base = USD
但是检查你的钥匙,我收到了这个
{"success":false,"error":{"code":105,"type":"base_currency_access_restricted"}}
对于错误代码
的解释105 当前订阅计划不支持此 API 端点。