.Net 获取URL中指定参数值
有时候我们调用第三方接口,返回的并不是完整的链接带参数,而我们只需要获取指定的一些参数
例如:code=200&msg=success×tamp=1657539&nonce_str=T8Zhan&data=%7B%22pre_tre_no%22%3A%22OID2022071117311BA%22%2C%22open_ord_id%22%3A%22EP6155220700100032%22%2C%22open_ord_time%22%3A1657531889%2C%22open_uni_id%22%3A6155%2C%22open_app_id%22%3A%221118%22%2C%22open_acc_id%22%3A6155220100100002%2C%22open_pay_type%22%3A%22pay_yy%22%2Cb_pay_type%22%3A%22%22%2Cpen_status%22%3A9%2C%22open_type%22%3A1%2C%22open_user_percode%22%3A%22110180%22%n_fee_total%22%3A%220.02%22%2C%22ext_trade_no%22%312%2C%22ext_trade_time%22%3A1657531888%2C%22ext_mer_id%22%3A%221037%22%2C%22ext_wallet%22%3A1%2C%22pre_attach%22%3A%22%22%2C%22pre_ode%22%3A%22%22%2C%22pre_order_tus%22%3A3%7D&method=nify&real_app_id=1118&sign=8032BEBE4916DAA256C419B
除了傻瓜式解码然后再写一堆方法去截取参数之外,当然还有更好的写法!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | var str = "code=200&msg=success×tamp=1657531889&nonce_str=T88cZhan&data=%7B%22pre_trade_no%22%3A%22OID20220711173116DDBA%22%2C%22open_ord_id%22%3A%22EP61552232%22%2C%22open_ord_time%22%3A1657531889%2C%22open_uni_id%22%3A6155%22open_app_id%22%3A%28%22%2C%22open_acc_id%22%3A615522012%2C%22open_pay_type%22%3A%22pay_yay%22%2C%22open_sub_pay_type%22%3A%22C%22open_status%22C%22open_type%22%22open_user_percode%22%3%22%2C%22open_fee_total%22%3A%220.02%22%2C%22ext_trade_no%22%3A2%2C%22ext_trade_time%22%3A1688%2C%22ext_mer_id%22%3A%2210C%22ext_wallet_num%22%3A1%ttach%22%3A%22%22%2C%22pre_pay_code%22%3A%status%22%3A3%7D&method=noty&real_app_id=18&sign=8056C419B" ; //var conStr = HttpUtility.UrlDecode(str); var collection = HttpUtility.ParseQueryString(str); var psrsms = JsonConvert.DeserializeObject<data>(collection[ "data" ]); //var collection2 = HttpUtility.ParseQueryString(conStr); Console.WriteLine(psrsms.pre_trade_no); //Console.WriteLine(collection2["data"]); Console.ReadLine(); public class data { public string pre_trade_no { get ; set ; } //第三方商户订单号 public string pre_attach { get ; set ; } //原值返回字符串 public string open_status { get ; set ; } //订单支付状态,"9"代表已成功 public string open_ord_id { get ; set ; } //开放平台订单ID public string open_pay_type { get ; set ; } //订单支付渠道 } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了