我是Mulesoft Dataweave语言的新手,我不明白我在code-1和code-2语法中犯了什么错误。它在if块上显示一个编译时错误。你能建议我在下面的脚本中犯了什么错误吗?
%dw 2.0
fun createUserData(name) = {
if(name=="USA"){
readUrl("https://jsonplaceholder.typicode.com/posts/1", "application/json")
}else{
readUrl("https://jsonplaceholder.typicode.com/posts/1", "application/json")
}
}
output application/json
---
createUserData("USA")
output application/json
---
if(payload != null){
readUrl("https://jsonplaceholder.typicode.com/posts/1", "application/json")
}else{
readUrl("https://jsonplaceholder.typicode.com/posts/1", "application/json")
}
你可以尝试用这样的方法
%dw 2.0
output application/json
fun createUserData(name) = {
a: if(name=="USA")
readUrl("https://jsonplaceholder.typicode.com/posts/1", "application/json")
else
readUrl("https://jsonplaceholder.typicode.com/posts/1", "application/json")
}
---
createUserData("USA").a
另一个示例脚本:
%dw 2.0
output application/json
var a = "1"
---
if (a == "1") ["a","b"] ++ ["c","d"] ++ [{"abc": "hello"}]
else if ( a == "2" or a == "3") {
v: " this is ok"
}
else {
v: "this is just ok"
}
另一个例子:
%dw 2.0
import * from dw::util::Values
output application/json
var a = "1"
var b = {"hello" : "world"}
---
if (a == "1") ["a","b"] ++ ["c","d"] ++ [{"abc": "hello"}] + (b update "hello" with "hello")
else if ( a == "2" or a == "3") {
v: " this is ok"
}
else {
v: "this is just ok"
}
您的问题不在于条件,而在于它返回的对象的语法。在 DataWeave 中,大括号不是 if/else 条件的一部分。大括号分隔一个对象,其中包含键值对。表达式启动一个对象,但缺少键。假设 readUrl() 返回一个对象 { a: 1 },它将等效于:
{ { a: 1} }
这是无效的,因为外部对象没有键,只有一个值。在这种情况下,你可以只返回不带大括号的readUrl()的结果:
if(payload != null)
readUrl("https://jsonplaceholder.typicode.com/posts/1", "application/json")
else
readUrl("https://jsonplaceholder.typicode.com/posts/1", "application/json")
因为if/else的每一个分支里面都有更多的表达式,所以你也可以转换它们。
有关更多示例,请参见@Salim Khan的答案。
从事maven项目。我试图使用maven进行构建,但我遇到了以下错误!我正在使用JDK 8开发eclipse。 无法执行目标org.apache.maven.plugins:maven-compiler-plugin:2.3.2:编译(默认编译) 我也尝试了上面的解决方案,但我仍然得到错误!
我试图从spark 1.6迁移到2.0,但仅在2.0上编译时出现以下错误: 无法找到存储在数据集中的类型的编码器。导入支持原始类型(Int、String等)和产品类型(case类)spark.implicits._将在未来版本中添加对序列化其他类型的支持。val subGroupCount: Array[Seq[any]]=columns.map(c= 问候
我正在使用2.4.0-ALPHA01房间
我正试图减少gwt项目的编译时间,使用maven概要文件来设置是需要所有排列还是只需要其中的一部分。 我按照教程在这里:http://www.bonitasoft.org/blog/tutorial/speed-up-gwt-i18n-compilation-using-maven-profiles/ 但是,它没有说明如何创建这两个模块(生产和开发)。这些都是应用程序。gwt。xml文件,如果是,
我正在制作应用程序,以广播电话视频到youtube频道。我找到了这个链接https://github.com/youtube/yt-watchme。 在编译我的代码时,我得到了错误 在文件avecode.h代码#include“libavutil/samplefmt.h”中找不到libavutil 错误:失败:生成失败,出现异常。*错误: 执行任务“:app:ExternalNativeBuild
我试图安装nodetime模块(用于node),但是当我安装时,我得到了以下编译错误: make:***[release/obj.target/nodetime_native/src/nodetime_native.o]错误1 make:离开目录make`失败,退出代码:2 gyp错误!在childprocess.onexit上堆栈(/home/fernando/apps/node-v0.12.2