2017-05-19 33 views
0
{ 
     "Query": { 
     "inputs": { 
      "headers": { 
      "Content-Type": "application/json" 
      }, 
      "method": "GET", 
      "queries": { 
      "f": "json", 
      "temp": "\"test\": @json(body('http'))['candidates'][0]['location']['x']" 
      }, 
      "uri": "https://testurl.com/restApi" 
     }, 
     "runAfter": { 

     }, 
     "type": "Http" 
     } 
    } 

它将“temp”读作“test”:@json(body('http'))['candidates'] [0] ['location'] [“X”]”Azure逻辑应用程序http连接器不会解析查询中的json

如果我改变了行

"temp": "@json(body('http'))['candidates'][0]['location']['x']" 

它读取JSON正确的值。不知道它的一个bug,或我错过了一些语法。

回答

2

能您尝试使用以下语法:

"temp": "\"test\": @{json(body('http'))['candidates'][0]['location']['x']}" 
+0

谢谢了。这工作。 – Dhrumil

3

您可以尝试什么史蒂芬回答(https://stackoverflow.com/a/44062649/7997843)或这是更明确的对我说:

"temp": "@concat('\"test\":', json(body('http'))['candidates'][0]['location']['x'])" 

我建议你阅读有关的工作流定义语言这里字符串插值:https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-definition-language#Expressions

你的情况似乎是一个极限情况。你可以用@@{开始你的表达,然后输入你的函数的名字,或者你可以用一个字符串开头,但是除此之外你不会有任何选择,只能用@{

相关问题