首页 > 其他分享 >.net json 处理

.net json 处理

时间:2023-11-02 11:16:14浏览次数:46  
标签:01 deliveredNum 21 处理 orderDetailId json unionNo result net

处理较复杂的Json字符串,不需要对Json进行序列化操作,以下是一种非常简单的方法,记录以下;

Json字符串如下:

{
	"code": 0,
	"msg": "SUCCESS",
	"result": [{
		"changesContent": [{
			"unionNo": "1719708390162472960",
			"orderDeliveredList": [{
				"expName": "普通快递",
				"expNo": "333",
				"packageList": [{
					"deliveredNum": 1,
					"deliveredTime": "2023-11-01 21:31:04",
					"orderDetailId": 3566376
				}],
				"suborderId": 3366323,
				"expCode": "XUNI"
			}]
		}, {
			"unionNo": "1719706286249254912",
			"orderDeliveredList": [{
				"expName": "速必达物流",
				"expNo": "111",
				"packageList": [{
					"deliveredNum": 2,
					"deliveredTime": "2023-11-01 21:31:10",
					"orderDetailId": 3566375
				}],
				"suborderId": 3366322,
				"expCode": "SUBIDA"
			}]
		}],
		"eventDesc": "订单发货通知",
		"eventKey": "ORDER_DELIVERY"
	}],
	"traceId": "7c2aca0b-5108236"
}

  使用JObject类来处理,代码如下:

 string orderNum = string.Empty;
            string jsonStr = @"{ ""code"":0, ""msg"":""SUCCESS"", ""result"":[ { ""changesContent"":[ { ""unionNo"":""1719708390162472960"", ""orderDeliveredList"":[ { ""expName"":""普通快递"", ""expNo"":""333"", ""packageList"":[ { ""deliveredNum"":1, ""deliveredTime"":""2023-11-01 21:31:04"", ""orderDetailId"":3566376 } ], ""suborderId"":3366323, ""expCode"":""XUNI"" } ] }, { ""unionNo"":""1719706286249254912"", ""orderDeliveredList"":[ { ""expName"":""速必达物流"", ""expNo"":""111"", ""packageList"":[ { ""deliveredNum"":2, ""deliveredTime"":""2023-11-01 21:31:10"", ""orderDetailId"":3566375 } ], ""suborderId"":3366322, ""expCode"":""SUBIDA"" } ] } ], ""eventDesc"":""订单发货通知"", ""eventKey"":""ORDER_DELIVERY"" } ], ""traceId"":""7c2aca0b-5108236"" }";
            JObject jsonObjectStr = JObject.Parse(jsonStr);

            JToken[] resultArr = jsonObjectStr.GetValue("result").ToArray();

            if(resultArr.Length>0)
            {
                var result = jsonObjectStr.SelectTokens("result[*].changesContent[*].unionNo").Select(a => a.Value<string>()).ToList();
                foreach(string item in result)
                {
                    orderNum = item;
                }
            }

  

  

标签:01,deliveredNum,21,处理,orderDetailId,json,unionNo,result,net
From: https://www.cnblogs.com/webyu/p/17804912.html

相关文章

  • How to determine the correct number of epoch during neural network training? 如
     Thenumberofepochsisnotthatsignificant.Moreimportantisthethevalidationandtrainingerror.Aslongasitkeepsdroppingtrainingshouldcontinue.Forinstance,ifthevalidationerrorstartsincreasingthatmightbeaindicationofoverfittin......
  • 【Netty】使用Netty搭建简易Sokect客户端
    直接上代码创建客户端,连接到服务端,并发送消息:/**发送一条消息到socket服务端*/privatevoidsendOne(StringrawMessage){NioEventLoopGroupgroup=newNioEventLoopGroup();try{Bootstrapbootstrap=newBootstrap();......
  • 关于pacemaker集群stonith:fence_azure_arm资源-SP-服务主机-密码过期的处理方法
    在pacemaker中,一般都会创建一个stonith资源(ShootTheOtherNodeInTheHead),笔者因为是在Azure平台、于是使用的为 stonith:fence_azure_arm最近发现有一个与之关联的服务主体的密码过期了,导致状态异常,通过pcsstatus可以看到FailresourceActions信息FailedResourceAc......
  • net core流相关
      Stream.Read与StreamReader.Read都可以读取流中的信息///<summary>///将流中的内容以字节码的形式读出来///</summary>///<paramname="stream"></param>///<returns></returns>publics......
  • axum处理cookie
    Cookie是通过HTTPHeader进行传递的。由某个响应头进行设置,然后其它请求头就可以获取到了。本章将通过模拟用户中心来用axum操作HTTPHeader演示Cookie的读写操作。本章示例将实现以下路由:路由说明GET/用户中心首页。如果用户未登录,显示提示信息;如果用户已登......
  • axum处理静态文件
    和其它Web框架一样,axum也会对所有请求进行处理。对于CSS、JS及图片等静态文件,并不需要axum的handler进行处理,而是只需要简单的把它们的内容进行返回即可。axum提供了处理静态文件的中间件。首先,我们创建一个名为 static 的目录,并在其中创建一个 axum-rs.txt 的文......
  • vue打包后导致css属性值丢失的问题如何处理?
    当使用Vue进行打包时,有时可能会出现CSS属性值丢失的问题。这通常是由于CSS的压缩和优化过程导致的。下面是一些可能的解决方案:关闭CSS的压缩和优化:在Vue的配置文件(vue.config.js)中,你可以通过添加以下配置来关闭CSS的压缩和优化:module.exports={css:{extract:false,......
  • 模拟实现.net中的Task机制:探索异步编程的奥秘
    .net中使用Task可以方便地编写异步程序,为了更好地理解Task及其调度机制,接下来模拟Task的实现,目的是搞清楚:Task是什么Task是如何被调度的基本的Task模拟实现从最基本的Task用法开始Task.Run(Actionaction)这个命令的作用是将action作为一项任务提交给调度器,调度器会安排......
  • Xilinx VIvado学习-01 数值处理之除法(有符号)
    Verilog数值处理,在处理除法的时候,需要注意位宽。实例: quotient=a/b; reside=a%b; modulesi_div(inputsigned[9:0]a,inputsigned[7:0]b,outputsigned[9:0]quotient,outputsigned[7:0]reside);assignquotient=a/b;assignreside=a%b;endmodule......
  • Python自动化处理Excel数据
    需求描述:数据格式如下所示,需要分离出2023年7月1号之后的数据明细数据核对与处理:从Excel文件中提取特定日期后的签收数据1.引言在实际数据处理和分析过程中,经常会遇到需要从大量数据中提取出特定日期范围内的信息的需求。本文将介绍如何使用Python的pandas库来处理Excel文件,并......