UNIRest 目标 c 货币转换器 Api
Posted
技术标签:
【中文标题】UNIRest 目标 c 货币转换器 Api【英文标题】:UNIRest objective c Currency Converter Api 【发布时间】:2014-02-06 00:59:38 【问题描述】:我正在尝试使用来自https://www.mashape.com/ultimate/currency-convert#的mashape 的货币转换器API!
我是 Objective-c 的新手。我正在尝试通过此代码调用 api -
NSDictionary* headers = @@"X-Mashape-Authorization": @"key";
NSDictionary* parameters = @@"amt": @"2", @"from": @"USD", @"to": @"INR", @"accuracy": @"2";
UNIHTTPJsonResponse* response = [[UNIRest post:^(UNISimpleRequest* request)
[request setUrl:@"https://exchange.p.mashape.com/exchange/?amt=120&from=usd&to=gbp&accuracy=3&format=json"];
[request setHeaders:headers];
[request setParameters:parameters];
] asJson];
谁能告诉我如何访问返回的信息以及如何将参数 2 作为数字而不是字符串发送。
感谢大家的帮助。
【问题讨论】:
【参考方案1】:似乎 mashape 的 API 并没有标准化到从参数数组中获取参数的程度——您需要在 UNIHTTPJsonResponse 对象的 setUrl 调用中传递它们。
此外,像这样从远程 API 获取数据时使用异步调用是个好主意。
NSDictionary* headers = @@"X-Mashape-Authorization": @"key";
[[UNIRest post:^(UNISimpleRequest* request)
[request setUrl:@"https://exchange.p.mashape.com/exchange/?amt=120&from=usd&to=gbp&accuracy=3&format=json"]; // this is where you want to set your currencies, amounts, etc.
[request setHeaders:headers];
[request setParameters:@]; // is this needed? I dunno
] asJsonAsync:^(UNIHTTPJsonResponse* response, NSError *error)
if (error)
NSLog(@"%@",[error localizedDescription]);
else
// here you do all the stuff you want to do with the data you got.
// like launch any code that actually deals with the data :)
NSDictionary *currencyResult = [NSJSONSerialization JSONObjectWithData:[response rawBody] options: 0 error: &error];
NSLog(@"%@", currencyResult);
];
【讨论】:
以上是关于UNIRest 目标 c 货币转换器 Api的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 中通过 Retrofit 使用实时货币转换 API 时出错