有时候我们调用第三方接口,返回的并不是完整的链接带参数,而我们只需要获取指定的一些参数

例如:code=200&msg=success&timestamp=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

除了傻瓜式解码然后再写一堆方法去截取参数之外,当然还有更好的写法!

var str = "code=200&msg=success&timestamp=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; } //订单支付渠道
}

  

.Net 获取URL中指定参数值的更多相关文章

  1. 使用JS,获取URL中指定参数的值

    /** * 获取URL中指定参数的值 * * @param name 参数名称 * @returns */ function getQueryString(name) { var reg = new ...

  2. js中获取URL中指定的查询字符串

    js中获取URL中指定的搜索字符串,主要利用location对象实现,废话少说,上代码. function getSearchString(key) { // 获取URL中?之后的字符 var str ...

  3. JS根据key值获取URL中的参数值,以及把URL的参数转换成json对象

    //把url的参数部分转化成json对象 parseQueryString: function (url) { var reg_url = /^[^\?]+\?([\w\W]+)$/, reg_par ...

  4. 使用JavaScript获取url中的参数值

    今天需要用到从url中获取参数,在网上找了几个JavaScript方法,mark下来.   一些可以使用的去获取url中指定的部分:如http://www.mystuff.com.cn/aboutus ...

  5. 获取URL中的参数值

    //获取url中ID的值function getParamByName(name, url) { var match = RegExp('[?&]' + name + '=([^&]* ...

  6. 在JQuery中获取URL中的参数值

    添加一个js文件,代码如下 // * jQuery url get parameters function [获取URL的GET参数值] // *character_set UTF-8 // * au ...

  7. js获取URL中指定的值

    function getSearchString(key) { // 获取URL中?之后的字符 var str = location.search; str = str.substring(1,str ...

  8. 获取url中指定的参数

    function GetRequest(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(& ...

  9. js获取url中的参数值

    在博客园看家一片不错的文章:http://www.cnblogs.com/EnderH/p/5398409.html 在这里记下对自己比较有用的三种: 1.正则 function GetQuerySt ...

  10. javascript中正则实现读取当前url中指定参数值方法。

    getQueryString:function(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*) ...

随机推荐

  1. 微服务开发平台 Spring Cloud Blade 部署实践

    本文介绍使用 Rainbond 快速部署 Spring Cloud Blade 微服务平台.Spring Cloud Blade 是一个由商业级项目升级优化而来的微服务架构,采用Spring Boot ...

  2. MySQL数据结构(索引)

    目录 一:MySQL索引与慢查询优化 1.什么是索引? 2.索引类型分类介绍 3.不同的存储引擎支持的索引类型也不一样 二:索引的数据结构 1.二叉树(每个节点只能分两个叉) 2.数据结构(B树) 3 ...

  3. MySQL函数--时间格式--流程控制if判断

    目录 一:函数 1.MySQL什么是函数? 2.通过help查看函数帮助 3.移除指定字符 4.大小写转换 5.获取左右起始指定个数字符 6.返回读音相似值(对英文效果) 二:时间格式实战案例 1.时 ...

  4. docker registry(私库)搭建,使用,WEB可视化管理部署

    Docker Registry 是Docker官方一个镜像,可以用来储存和分发Docker镜像.目前比较流行的两个镜像私库是Docker Registry ,HarBor 其中HarBor最合适企业级 ...

  5. Python怎么引入不同的库?

    怎么引入不同的库? 在线安装库 1)pip install 模块名 2)国内源: 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirr ...

  6. JavaScript:变量的作用域,window对象,关键字var/let与function

    为什么要将这些内容放在一起,因为他们都跟初始化有关系,我们慢慢说吧. 我们在代码中,都会声明变量.函数和对象,然后由浏览器解释器(下面简称浏览器)执行: 我们还说过,变量和对象的内存结构: 那么,是什 ...

  7. CH9126常见问题解决(持续更新)

    1. 有关CH9126时区的问题 答:当CH9126作为SNTP服务器的时候,通过串口设置的时间为东八(北京)时区的绝对时间.但是如果是Windows向CH9126SNTP服务器要时间,那么Ch912 ...

  8. Linux基础:ssh与scp

    登陆 登陆服务器 ssh user@hostname user: 用户名 hostname :IP地址或域名 第一次登陆会提示 The authenticity of host '123.57.47. ...

  9. vs code .net core Linux下离线安装Nuget包

    本人第一次使用 vs code在linux下开发.net core项目,由于处于内网,无法通过在线安装,所以在遇见离线安装Nuget包时,耗费了一番功夫,网上也没有相关的,最后还是多个思路结合才解决的 ...

  10. MySql树形结构(多级菜单)查询设计方案

    背景 又很久没更新了,很幸运地新冠引发了严重的上呼吸道感染,大家羊过后注意休息和防护 工作中(尤其是传统项目中)经常遇到这种需要,就是树形结构的查询(多级查询),常见的场景有:组织架构(用户部门)查询 ...