我正在使用 JSONata 来执行 JSON 到 JSON 的转换。
出于某些独特的原因,我想合并两个 JSONata 表达式:
举个例子 :
父表达式:
var script = `
{
      "data":
      {
          "name" : data.payload.Name.(FirstName & ' ' & LastName),    
          "alias": data.payload.Name.(Salutation & ' ' & FirstName),
          "active": data.payload.Status = 'New' ? true : false,
          "signature": "Have good day ," & data.payload.Name.FirstName & "!"
       }       
  }
`;
我也有一些简单的赋值类型的 JSONata 表达式,例如:
表达式 1:
{
   "source" : source
}
表达式 2:
{
  "data": {
     "email" : data.payload.Email
   }
}
我想将以上两个表达式添加到使用script.
所以添加这两个表达式后,我应该能够得到:
var …我需要能够使用 JSONata 将元素添加到任意复杂的对象。
我事先并不知道对象中的所有元素。
例如,假设我想添加
"newElement": { "a": 1, "b": 2 }
对于一个看起来像这样的对象:
{ "xx": "An", "yy": "Example", "zz": 1 }
但它可能有任意数量或混合的其他元素。
我可以替换整个对象,但我不知道如何添加它。
JSONata 文档“top-level-arrays-nested-arrays-and-array-flattening”涵盖了对象数组的“展平”情况,每个对象都包含一个包含数组值的属性。
但是,我一直无法弄清楚如何展平数组的数组。
问:用于展平数组数组的 JSONata 查询是什么?
输入
    [ [1,2], [], [3] ]
想要的
    [ 1, 2, 3 ]
JSONata 中有没有办法让函数在提供的数组中找到特定字符串时返回 TRUE?例如我有一系列颜色:
const myArray = [红色、蓝色、绿色、粉色]
我试图找出一个表达式,该表达式将在该数组中搜索“蓝色”,如果找到该值则返回 true。
在 JSONata 文档中,我发现了一个名为 $boolean(arg) 的函数,我认为我需要使用它,但我不确定如何实现它。文档将参数类型选项显示为“数组:包含转换为 true 的成员”,但我无法真正告诉如何实现它。
它会像 $boolean(myArray, "blue") 一样简单吗?
我正在使用返回以下 JSON 的 API:
{
  "rows": [
    {
      "keys": [
        "search term 1",
        "https://example.com/article-about-keyword-1/"
      ],
      "clicks": 24,
      "impressions": 54,
      "ctr": 0.4444444444444444,
      "position": 2.037037037037037
    },
    {
      "keys": [
        "search term 2",
        "https://example.com/article-about-keyword-2/"
      ],
      "clicks": 17,
      "impressions": 107,
      "ctr": 0.1588785046728972,
      "position": 2.663551401869159
    }
],
  "responseAggregationType": "byPage"
}
我正在尝试使用 JSONata 将其更改为更像这样的内容:
 {
  "rows": [
    {
      "keyword": search term 1,
      "URL": https://example.com/article-about-keyword-1/,
      "clicks": 24,
      "impressions": 54,
      "ctr": 0.4444444444444444,
      "position": 2.037037037037037
    },
    {
      "keyword": search term 2,
      "URL": https://example.com/article-about-keyword-2/,
      "clicks": 17,
      "impressions": 107,
      "ctr": 0.1588785046728972, …