json - 如何使用“For Each”在 LogicApp 中检索和更新 JSON 值
问题描述
背景: 我希望在我的文档中循环、检索和更新项目
我希望找到并循环遍历数组中的值,找到嵌套值,然后使用 LogicApps 更新它们。我知道我走在正确的道路上,我只需要一点帮助。
1.这是文件。我希望遍历 A(其中有很多记录)并检索所有类别。
"A":
[
{
"category": "1"
}
]
2.一旦我检索到类别,我希望循环遍历我找到的每个类别,然后更新它们的 id 和状态
"category":"1"
"box":
[
{
"id": "update"
"status": "update"
}
]
我的方法和我所做的:
我相信我必须在 A 上做一个“For Each”循环。 我只是不确定如何在我想要检索所有“类别”字段的 logicApp 中编写,然后是框字段中的字段。
然后,一旦我获得所有“类别”字段,我必须使用字符串更新此数组中的 id 和状态。
我想改变
"id": "update" to "id" : "number"
和改变
"status": "update" to "status": "linked"
我相信我必须:初始化、解析并执行 For 循环
我相信我必须:初始化、解析并执行一个“For Each”循环,但是我如何告诉逻辑应用我希望从嵌套的“A”中获取“类别”部分,然后一旦我有了“类别”部分然后更新其中的“id”和“status”的嵌套字段?
任何帮助都很棒
解决方案
您有两个选项可以进行编辑。
首先是传统的逻辑应用方式:
使用一组工作变量和setProperty()
函数来更新值。一个变量来保存您当前正在编辑的部分,一个数组来保存到目前为止所做的工作。由于您使用的是嵌套数组,因此您需要两组变量——一组用于“A”内的数组,一组用于“box”内的数组。为了更新子属性,您只需嵌套setProperty()
调用:setProperty(<object>['<parent-property>'], '<parent-property>', setProperty(<object>['parentProperty'], '<child-property>', <value>))
。
如果你还没有,你可能想看看这篇文章,因为它有一个类似的前提,但结构更简单一些:Updating Json Array in LogicApp
第二种选择是使用内联代码操作
在您的情况下,我可能会走这条路,因为所需操作的数量会显着下降,从而使应用程序更易于阅读并降低成本。只要您的数据不太大,您就可以在一个操作中完成所有编辑并简单地输出结果。如果你想保留一些结构或者你有一个大对象,你可以保留两者的元素——在你的“A”数组上使用循环,然后在 Javascript 中对该迭代进行更改。
推荐阅读
- javascript - 如何在 react/javascript For-Loop 和 ForEach 中访问对象数组中的属性?
- javascript - 推特企业 API
- react-native - 为什么我的 recyclerlistview 没有更新我的金额?
- javascript - 在 asp.net 核心中的 jquery Autocomplete 插件中向下滚动以获取结果
- javascript - 将 upsert 与 elasticsearch 客户端一起使用 [javascript]
- django - 如何在管理中间页面中重用 Django 的管理外键小部件
- exe - 我将如何反编译只能在 Windows XP 上运行的 exe
- python - 在一个 DataFrame 中连接列表
- xamarin - 来自 WebView 的登录回调(Xamarin+.Net Core 5 身份)
- visual-studio - 使用 Visual Studio 弹出导航窗口关闭文件?