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的主要内容,如果未能解决你的问题,请参考以下文章

用于货币转换的 PayPal API

无法转换货币 paypal pay API 错误

在 Android 中通过 Retrofit 使用实时货币转换 API 时出错

PHP 货币转换

Bittrex API 加密货币交易者:php 到 Java 的转换

Python 中的 PayPal 自适应付款转换货币请求(已弃用的 API)