美文网首页
[转]将a=1&b=2&c=3 格式字符串转换成

[转]将a=1&b=2&c=3 格式字符串转换成

作者: 祖冲之 | 来源:发表于2016-06-07 08:31 被阅读663次

最近在做支付宝支付,返回值里的一些参数是a=1&b=2&c=3 格式字符串

不方便使用 于是找到了这个方法

- (NSDictionary*)dictionaryFromQuery:(NSString*)query usingEncoding:(NSStringEncoding)encoding {

NSCharacterSet* delimiterSet = [NSCharacterSetcharacterSetWithCharactersInString:@"&;"];

NSMutableDictionary* pairs = [NSMutableDictionarydictionary];

NSScanner* scanner = [[NSScanneralloc]initWithString:query];

while(![scannerisAtEnd]) {

NSString* pairString =nil;

[scannerscanUpToCharactersFromSet:delimiterSetintoString:&pairString];

[scannerscanCharactersFromSet:delimiterSetintoString:NULL];

NSArray* kvPair = [pairStringcomponentsSeparatedByString:@"="];

if(kvPair.count==2) {

NSString* key = [[kvPairobjectAtIndex:0]

stringByReplacingPercentEscapesUsingEncoding:encoding];

NSString* value = [[kvPairobjectAtIndex:1]

stringByReplacingPercentEscapesUsingEncoding:encoding];

[pairssetObject:valueforKey:key];

}

}

return[NSDictionarydictionaryWithDictionary:pairs];

原文链接 

相关文章

  • [转]将a=1&b=2&c=3 格式字符串转换成

    最近在做支付宝支付,返回值里的一些参数是a=1&b=2&c=3 格式字符串 不方便使用 于是找到了这个方法 - (...

  • Flutter 学习 之 时间转换工具类

    日期转换成时间戳 时间戳转时间格式 时间戳转字符串格式 将传进来的 时间戳/日期格式 转成 DateTime 格式...

  • Flutter 处理时间

    日期转换成时间戳 时间戳转时间格式 时间戳转字符串格式 将传进来的 时间戳/日期格式 转成 DateTime 格式...

  • JS 里的数据类型转换

    数字转字符串: var n = 3;n.toString(); 以上代码 可以将数字3转换成字符串"3" 布尔转...

  • Python入门(31)

    strftime()按指定样式格式化时间转换成字符串;isoformat()将时间转换成字符串ISO8601格式,...

  • 数据转换

    if(xxx) 把 xx 转换成布尔 a == b 把 a, b 转换成数字 空字符串转布尔 false,其他...

  • iOS:json格式字符串转字典,字典转json格式字符串

    json格式字符串转字典不能直接转化需要先转换成Data,在转化成字,同样字典也不能直接转换成json格式字符串。...

  • iOS 时间字符串、时间戳、NSDate相互转化

    1、将如"1544408230000"这个格式的时间戳转化成时间字符串 2、将时间NSDate转换成时间戳 3、将...

  • 1&2&3

    曾经熙熙攘攘,热闹无比的家,在码字这一刻变成了1+2模式。 在码字的这一刻,女儿正在倒腾衣柜,帮我置装,挑选我今天...

  • C++语言常用知识【持续更新】

    1、如何将非string数据转换成string。 具体地,如何将char *转换成string格式。利用字符串流类...

网友评论

      本文标题:[转]将a=1&b=2&c=3 格式字符串转换成

      本文链接:https://www.haomeiwen.com/subject/tneddttx.html