在PHP中组合2个或更多JSON

在PHP中组合2个或更多JSON,php,arrays,json,Php,Arrays,Json,我当前的JSON值如下所示: {"vegetable_names":["vegetables 1","vegetables 2","vegetables 3"]}{"grade":["XXL","A","B","S"]}{"packages":["Carton Boxes","Baskets"]} {"vegetable_names":["vegetables 1","vegetables 2","vegetables 3"],"grade":["XXL","A","B","S"],"pack

我当前的JSON值如下所示:

{"vegetable_names":["vegetables 1","vegetables 2","vegetables 3"]}{"grade":["XXL","A","B","S"]}{"packages":["Carton Boxes","Baskets"]}
{"vegetable_names":["vegetables 1","vegetables 2","vegetables 3"],"grade":["XXL","A","B","S"],"packages":["Carton Boxes","Baskets"]}
但我希望输出如下:

{"vegetable_names":["vegetables 1","vegetables 2","vegetables 3"]}{"grade":["XXL","A","B","S"]}{"packages":["Carton Boxes","Baskets"]}
{"vegetable_names":["vegetables 1","vegetables 2","vegetables 3"],"grade":["XXL","A","B","S"],"packages":["Carton Boxes","Baskets"]}

我猜你得到了你描述的Json。如果不是,我建议你遵循保罗·克罗维拉的解决方案,从一开始就做到正确

假设您没有选择,那么将Json解码为一个对象或数组,合并这两个或更多个对象,然后将它们再次编码为Json如何。 丑陋,但是如果Json是由独立于您的源代码创建的,您可以这样做。

只是一些数据结构的文本表示。从JSON字符串中恢复数据结构,使用PHP对其进行修改(或创建新的数据结构,如果更合适),再次将更新/新的数据结构编码为
JSON

您作为输入发布的“JSON”似乎根本不是
JSON
。它是三个
JSON
字符串的串联。这样不行

// Input JSON strings
$json1 = '{"vegetable_names":["vegetables 1","vegetables 2","vegetables 3"]}';
$json2 = '{"grade":["XXL","A","B","S"]}';
$json3 = '{"packages":["Carton Boxes","Baskets"]}';

// Restore the data structures as arrays
$data1 = json_decode($json1, TRUE);
$data2 = json_decode($json2, TRUE);
$data3 = json_decode($json3, TRUE);

// Combine them; it seems all you need is a simple merging
$data = array_merge($data1, $data2, $data3);

// Encode the combined arrays as JSON again
$output = json_encode($data);

echo{“蔬菜名称”:[“蔬菜1”、“蔬菜2”、“蔬菜3”],“等级”:[“XXL”、“A”、“B”、“S”],“包装”:[“纸箱”、“篮子”]不过,说真的,我们需要查看您的代码以提供任何有用的帮助。如果您不澄清数据是如何生成的,您的问题可能会被解决。