无法在逻辑应用中使用液体从内容JSON检索数据

时间:2019-08-01 07:50:13

标签: json liquid azure-logic-apps dotliquid

我有一个逻辑应用程序,可以从另一个逻辑应用程序接收数据。一切似乎正常,我看到输入中有数据,请参见下图。 Inputs of the logic app step

此后,我尝试使用液体对其进行转化。这是我的模板:

Liquid template

事实上,我知道液体模板确实可以使用。请参见下图,您可以在其中看到液体模板的结构,甚至可以像模板中那样添加硬编码的字符串。 Result after liquid template

如您所见,似乎我无法选择“ Flights”数组,甚至无法选择简单属性,因为这些属性在结果json对象中似乎为空。知道为什么我会有这个问题吗?

1 个答案:

答案 0 :(得分:1)

在发出http请求之前,我好像遇到了内容类型问题,让我在步骤中进行解释。

  • 这是我尝试过的液体模板:

 {     
       "Employee Name" : "{{ content.firstname }} {{ content.lastname }}",  
       "Company Name" : "{{ content.company }}",  
       "Date Of Joining" : "{{ "now" | Date: "MM/dd/yyyy" }}",  
       "Department" : "{{ content.department }}",  
       "Technology" : "{{ content.work | Size }}",  
       "Skills" : [     
          {% for Skill in content.work %}        
          {            
             "Name" : "{{ Skill.skil }}",   
             "Marks" : {{ Skill.mark }}        
          },     
          {% endfor %}     
       ]  
    }  

  • 这是我通过邮递员尝试的输入文件:

  {   
       "firstname" : "Kamlesh",   
       "lastname" : "Kumar",   
       "company" : "Microsoft",  
       "department" : "Interface Technology",  
       "work" : [   
          {   
             "skil" : "BizTalk Server",   
             "mark" : 95  
          },   
          {   
             "skil" : "Logic Apps",   
             "mark" : 95  
          },  
          {   
             "skil" : "Azure",   
             "mark" : 85  
          },
          {   
             "skil" : "SQL Server",   
             "mark" : 95  
          }  
       ]  
    }  

当我向邮递员发出http请求时,它会给我以下结果

 {
      "Employee Name": " ",
      "Company Name": "",
      "Date Of Joining": "08/05/2019",
      "Department": "",
      "Technology": "0",
      "Skills": []
    }

您也正在获取它。为了解决这个问题,我通过执行以下操作在到达HTTP请求之前添加了类型

enter image description here

它对我有用。请尝试看看它是否对您有用。

enter image description here