2017-05-02 22 views
0

下面是我的这些JSON字符串,我试图添加jsons。我如何实现。如何我可以合并两个以上的Json字符串在PHP

$json1 = {"properties":{"title":"test","labels":["JanActual","Jan","Goal"],"values":["0","10000","0"]}} 
$json2 = {"key":"Rental","type":"bar","values":["0","10000","0"]} 
$json3 = {"key":"Service","type":"bar","values":["189","30000","0"]} 

我想用它来合并它们和我期待输出像下面

{ 
    "properties":{ 
     "title":"test", 
     "labels":[ 
      "JanActual", 
      "Jan", 
      "Goal" 
     ], 
     "values":[ 
      "0", 
      "10000", 
      "0" 
     ] 
    }, 
    "data": [ 
     { 
      "key":"Rental", 
      "type":"bar", 
      "values":[ 
      "0", 
      "10000", 
      "0" 
      ] 
     }, 
     { 
      "key":"Service", 
      "type":"bar", 
      "values":[ 
       "189", 
       "30000", 
       "0" 
      ] 
     } 
    ] 
} 

任何帮助吗?

+0

http://stackoverflow.com/questions/37174076/how-can-i-merge-two-json-strings-in-php –

回答

4

解码JSON到PHP阵列,合并和编码背面

$json1 = json_decode($json1, true); 
$json1['data'] = array(
    json_decode($json2, true), 
    json_decode($json3, true) 
); 

echo json_encode($json1); 
+0

很好的答案,但我认为当从两个或更多json集合合时,你还必须检查是否覆盖key->值。 – twg

+0

@twg你是什么意思?我无法想象什么可以覆盖,因为每个json对象都将数组的元素与数字索引分开 – splash58

相关问题