UiPath对接ServiceNow时提取HTTP请求返回JSON列表头的方法咨询
解决方法
操作步骤
- 首先配置外层For Each循环:遍历你转换得到的JArray变量(比如你命名为
arr_ServiceNowResult),将循环的TypeArgument设置为Newtonsoft.Json.Linq.JObject,确保每次循环拿到的是result数组里的单条JSON对象。 - 在外层For Each循环内部,新增嵌套的For Each循环:遍历项填写
currentJObject.Properties(),这里currentJObject是你外层循环的迭代变量名,将这个内层循环的TypeArgument设置为Newtonsoft.Json.Linq.JProperty。 - 在内层循环中直接取值:
jProperty.Name就是你要提取的字段名(列表头),jProperty.Value.ToString()就是该字段对应的取值,你可以直接赋值给变量或者输出使用。
代码示例(可直接在Invoke Code活动中使用)
' 假设你转换得到的JArray变量名为arr_Result For Each item As JObject In arr_Result ' 遍历当前JSON对象的所有字段键值对 For Each prop As JProperty In item.Properties() Dim 字段名 As String = prop.Name Dim 字段值 As String = prop.Value.ToString() ' 此处添加你自己的业务逻辑,比如存入数据表、输出日志等 Next Next
注意事项
- 操作前请确保你的UiPath项目已经导入
Newtonsoft.Json.Linq命名空间,否则会报类型不存在的错误,导入方法是在UiPath的Imports面板搜索Newtonsoft.Json.Linq添加即可。 - 如果你只需要提取指定的几个列表头,不需要遍历全部字段的话,可以不用嵌套循环,直接用
currentJObject("目标字段名").ToString()就能直接拿到对应取值。
内容的提问来源于stack exchange,提问作者Rafa3lOneiL
相关产品推荐
相关产品推荐

