当前位置: 首页 > 知识库问答 >
问题:

我有两个Json有效载荷。我想将它们合并到一个Json对象中

伍弘盛
2023-03-14

我有两个有效载荷,希望将它们合并为一个JSON对象(流连接)。在一些地方,人们建议使用AttributesToJSON,但由于其中一个JSON没有固定的属性集,我想这是不可能的。

第一个有效载荷是

{  
   "title":"API-Actions Documentation",
   "title_link":"https://api.slack.com/",
   "author_name":"name",
   "author_link":"http://flickr.com/bobby/",
   "author_icon":"http://flickr.com/icons/bobby.jpg",
   "text":"Optional",
   "image_url":"http://my-website.com/path/to/image.jpg",
   "thumb_url":"http://example.com/path/to/thumb.png",
   "footer":null,
   "pretext":"@name",
   "color":"#7CD197"
}

第二个是,

{  
"fields":[  
  {  
     "title":"Priority",
     "value":"low",
     "short":"true"
  },
  {  
     "title":"Priority",
     "value":"medium",
     "short":"true"
  },
  {  
     "title":"Priority",
     "value":"high",
     "short":"true"
  },
  {  
     "title":"Priority",
     "value":"blocker",
     "short":"true"
  }
 ]
}

我想要输出为

{   
"title":"API-Actions Documentation",
"title_link":"https://api.slack.com/",
"author_name":"name",
"author_link":"http://flickr.com/bobby/",
"author_icon":"http://flickr.com/icons/bobby.jpg",
"text":"Optional",
"image_url":"http://my-website.com/path/to/image.jpg",
"thumb_url":"http://example.com/path/to/thumb.png",
"footer":null,
"pretext":"@name",
"color":"#7CD197",
"fields":[  
  {  
     "title":"Priority",
     "value":"low",
     "short":"true"
  },
  {  
     "title":"Priority",
     "value":"medium",
     "short":"true"
  },
  {  
     "title":"Priority",
     "value":"high",
     "short":"true"
  },
  {  
     "title":"Priority",
     "value":"blocker",
     "short":"true"
    }
   ]
  }

共有2个答案

漆雕和雅
2023-03-14

一般来说,NiFi并不打算做传统的流连接,但是邮件列表上最近的帖子可以帮助解释什么是可能的:

http://Apache-nifi-users-list . 2361937 . n4 . nable . com/join-two-datasets-TD 7039 . html

陶柏
2023-03-14

容易的只需使用MergeContent并设置以下配置:

Merge Format: Binary Concatenation
Minimum Number of Entries: 2
Delimiter Strategy: Text
Header: [
Footer: ]
Demarcator: ,

(您可以使用Merge记录,但至少对我来说有点错误)。

然后转移到 JoltTrasnformJSON 并将 Jolt Transformation DSL 设置为 Shift 并将 Jolt Specification 设置为

{
    "*": {
      "*": "&"
    }
}

这应该可以完成工作:)

 类似资料:
  • 问题内容: 我有以下输入-2个json文件,一个是基础文件,第二个包含相同的属性,但值不同,我想合并这些对象。 例如: 第二个文件: 结果应该是这样的: 使用powershell可以做到吗? 问题答案: (请参见下面的更新) 结果: 您可能会考虑不覆盖左值: 在这种情况下,结果将是: 更新2019年11月16日 的参数已经被耗尽,分过和参数(遗憾的重大更改)。好消息是,对象合并的默认参数设置包含在

  • 问题内容: 我想合并/合并两个表,并让它创建一个字段来标识它来自哪个表。我看到了SQL的答案,但我不需要最大值。我只需要合并两个表。这是我当前通过访问查询进行的联合查询的SQL。 SELECT [TableA]。[1As],[TableA]。[2As] UNION SELECT [TableB]。[1As],[TableA]。[2As]; 我希望这些表创建whattabl字段,并根据它来自的表来填

  • 我在Kafka中有这样的配置 我有一个类,有相同的有效负载代码,我如何在任何时候在对象中转换它? 大家好,我有一个微服务接收这个字符串并且正在工作,但是我需要将这个字符串转换为一个特定的对象,当我使用ObjectMapper转换应用程序时,会返回这个异常: 抛出异常;嵌套异常是com.fasterxml.jackson.databind.exc.InvalidDefinitionException

  • 问题内容: 我这里有两个通过Google搜索API生成的JSON对象。这些对象的URL可以在下面找到。 http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=hello%20world&rsz=large http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q = he

  • 我建立了一个连接到两个集合并将其存储在两个数组中,但我无法访问它,因为它是异步的。 此外,我还想执行类似于从学生中选择滚动的操作 db.student.find({},{roll:1,_id:0}); 但实现这一点并不奏效,它只是从集合中获取所有内容。 我试过使用Async/Await,但它不起作用。 我尝试实现async(npm模块),并使用async.Series方法,但没有成功。 对cons

  • 问题内容: 我可以使用通用的特定于Javascript / Coffeescript的习惯用法吗?主要出于好奇。 我有两个数组,一个数组由所需的键组成,另一个数组由所需的值组成,我想将其合并到一个对象中。 问题答案: var r = {}, i, keys = [‘one’, ‘two’, ‘three’], values = [‘a’, ‘b’, ‘c’];