ule子4:如何从数组生成文本文件

问题描述

我必须从数组生成文本文件。为此,我采用以下方法:

  1. 使用Dataweave映射方法从json负载创建Java数组
  2. 使用For每个组件遍历数组
  3. 在foreach中使用File:Write组件,并按照以下说明将它们转换为String来写入元素:write(payload,"application/java")并将File Write Mode设置为Append

有没有更好的方法来实现这一目标?

数组示例:

[["Amam","ssss","Bibek","Raghu","Rajeev"],["Apple","Banana","Orange","Pineapple","Pears"]] 

在文本文件中,我希望输出为:

Amam ssss Bibek Raghu Rajeev 
Apple Banana Orange Pineapple Pears 

解决方法

您不需要使用foreach遍历数组。您可以直接使用File:Write组件,并在其“ content”属性中使用以下dataweave表达式:

<Router>
        <div id="allBody" class="body">
          <Header className="header" id="header" />
          <div className="contentAll">
            <BreadCrumb LinkToHome={LinkToHome} />
            <div className="mainBody">{AppRoutes}</div>
          </div>
        </div>
 </Router>

此数据编织表达式具有以下输入:

int number;

void setup() 
{
  Serial.begin(9600);
}

void loop() 
{
  number=0;
  Serial.flush();
  while(Serial.available() == 0)
  {
   //just waiting while nothing entered
  }
  while (Serial.available()>0)
  {
    number = Serial.read() - '0';
    // read the number in buffer and
    //remove ASCII text for "0"  
  }
  Serial.print("You entered: ");
  Serial.println(number);
  Serial.print(number);
  Serial.print(" multiplied by two is ");
  number = number * 2;
  Serial.println(number);
  
}

结果:

>You entered: 4 
>4 multiplied by two is 8 
>You entered: -38
>-38 multiplied by two is -76

尽管Dataweave表达式中的输出格式为CSV,但结果文件将是一个包含结果输出的文本文件(文件名由File:Write组件的“ path”属性确定,并且可以类似例如“ my-text-file.txt”。

受支持的输出格式及其属性在此处进行描述:https://docs.mulesoft.com/mule-runtime/4.3/dataweave-formats

,

也许这就是您要寻找的

%dw 2.0
output text/plain
var inputText = [
  ["Amam","ssss","Bibek","Raghu","Rajeev"],["Apple","Banana","Orange","Pineapple","Pears"]
] 
---
(inputText map ($ joinBy " ")) joinBy "\n"

这是Olivier在上一个答案中使用的输入格式。

如上所述,输入格式:

[{"Amam","Rajeev"},{"Apple","Pears"}]

最初给出的无效JSON或Java,并且DW在尝试解析时会引发错误。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...