将php数组转换为JSON文件

时间:2013-01-31 15:33:31

标签: php sql json

我想从php函数(或直接从我的BDD)创建一个json文件。

我有一个在我的数据库sql中编写的php函数

这是我在我的数据库中写的函数(它是magento,但它有效):

$data = array('image'=>$my_upload->file_copy,'shopid'=>$customerid,'newsid'=>1);
$model = Mage::getModel('newsimagestable/newsimagestable')->setData($data);

Md表db_activity

shopid      newsid          imgid                    image
   7           1              1                     1.jpg
   7           1              2                     2.jpg
   7           1              3                     3.jpg

知道我用这个函数将它转换为Json:

$actArray = array();
    $activityAll = Mage::helper(eventdemo)->getactivitytest(7); //get my table db_activity

        foreach ($activityAll as $data){                
            array_push($actArray, "images:".$data->getData('image'),"thumb:".$data->getData('image'));              
        };

    file_put_contents('data.json',  stripslashes(json_encode($actArray)));

我只能以这种格式获取json文件:

["images:1.jpg","thumb:1_m.jpg","images:2.jpg","thumb:2_m.jpg","images:3.jpg","thumb:3_m.jpg"]

但是我想要这种格式(所以我认为这是一个包含多个条目的数组):

[
{ "thumb": "image1_m.jpg", "image": "image1.jpg" },
{ "thumb": "image2_m.jpg", "image": "image2.jpg" }  ]

这可能吗?

由于

1 个答案:

答案 0 :(得分:2)

而不是

foreach ($activityAll as $data){                
            array_push($actArray, "images:".$data->getData('image'),"thumb:".$data->getData('image'));              
        };

你应该做

foreach ($activityAll as $data){                
            array_push($actArray, array("images" => $data->getData('image'), "thumb" => $data->getData('image')));              
        };