在PHP中组合2个或更多JSON
我当前的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
{"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”],“包装”:[“纸箱”、“篮子”]代码>不过,说真的,我们需要查看您的代码以提供任何有用的帮助。如果您不澄清数据是如何生成的,您的问题可能会被解决。