UiPath-JSON的处理

UiPath-JSON的处理

缘起

JSON作为常用的接口(AJAX、REST等)数据交换格式,在特定流程场景中是经常出现的,而且如果能用接口的话,RPA的开发和维护也会省很大的力气。这里就用一段虚拟数据简单总结一下JSON的处理与使用。

P.S. 本文只会介绍比较朴素的代码实现方式。相信很多人在包管理界面都见过JSON的专用包,但那是个第三方包。这里引申一点个人看法,如果是自己在家随便玩玩,只要是大佬开放的包,能实现功能,怎么搞都可以;但如果是在工作中,第三方的包还是慎用,版权、安全、后期维护等等都有可能是一时便利的代价,这些以后有空细说。

实现

下面是一段瞎编的JOSN,其中包含了JSON对象,JSON键值对和JOSN数组。我们假设这是四个公司的信息,把它赋值给名叫strCompanies的String变量:

{"N":{"Email": "n@n.com","Office": ["BJ","QD","TJ","SY"]},"EW":{"Email": "ew@ew.com","Office": ["SH","HZ","CD","NJ","WH"]},"S":{"Email": "s@s.com","Office": ["GZ","SZ","XM","DC"]},"H":{"Email": "h@h.com","Office": ["HK"]}}

为了能更有效率的解析JSON,第一步当然是反序列化。我们新建一个变量jobjTest,变量类型的全称是Newtonsoft.Json.Linq.JObject,把以下语句赋值给jobjTest:

Newtonsoft.Json.Linq.JObject.Parse(strJSON)
  • 要获取对象的名字,新建一个String的IEnumerable集合,叫它arrCompanyNames,然后赋值为:
from item in jobjTest.Properties select item.Name
  • 有了每个对象的名字,获取第一个对象的Email的值,新建一个String,叫strEmail,赋值:
jobjTest(arrCompanyNames(0))("Email").toString
  • 每个对象的Office是一个JSON数组,假设需要获取第一个对象的全部Office,新建一个Newtonsoft.Json.Linq.Jarray,赋值:
jobjTest(arrCompanyNames(0))("Office").ToObject(Of Newtonsoft.Json.Linq.JArray)
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值