如何将部分JSON结果组合成一个对象/变量?

时间:2013-01-11 22:55:50

标签: json perl duplicates

拥有一个返回部分JSON响应的应用程序,如何将对象/变量合并为一个?


我正在使用

$json = JSON->new->utf8->decode($response->content);

将响应转换为对象/变量,但每个单独一个。


现在我需要它将几个部分响应合并为一个。

如何做到这一点以及如何处理可能重复的项目以避免覆盖?


更新:

为了更好地理解上述问题,请参阅下面的示例回复。

每个部分响应都具有相同的结构,但 'Groups' 中的数据不同, 'Message' {{1 } 部分。最后一个回复来自 'Data'

'Finished' = true

2 个答案:

答案 0 :(得分:0)

您可以按Hash::Merge

合并哈希值

答案 1 :(得分:0)

这与JSON完全无关。您想合并两个数据结构。从你说的那个小,有三个数组要合并。您没有指定方式,因此您可能只想将新响应的元素附加到原始响应的元素中。

for (qw( Groups Message Data )) {
   push @{ $orig->{answer}{$_} }, @{ $new->{answer}{$_} }
      if $new->{answer}{$_};
}