如何将json对象转换为json数组?

时间:2017-06-24 05:57:38

标签: php json

我是Json的新手,我遇到了一个需要修复的问题,以便我可以继续我的项目..希望你能帮助我们..

这是我的Json对象响应

{
 "error":false,
 "sl_summ":
    {
        "sl_desc":"PA : Savings Account",
        "tr_date":"2015-08-17",
        "actual_balance":"483.67",
        "available_balance":"483.67"
    }
}

{
  "error":false,
  "sl_summ":
    {
        "sl_desc":"PA : Savings - Cash Bond",
        "tr_date":"2015-08-28",
        "actual_balance":"10129.43",
        "available_balance":"10129.43"
    }
}

我希望将以下Json对象(上面)转换为此Json数组格式(下面)

{
  "error":false,
   "sl_summ":
    [{
        "sl_desc":"PA : Savings Account",
        "tr_date":"2015-08-17",
        "actual_balance":"483.67",
        "available_balance":"483.67"
    },
    {
        "sl_desc":"PA : Savings - Cash Bond",
        "tr_date":"2015-08-28",
        "actual_balance":"10129.43",
        "available_balance":"10129.43"
    }]
}

这是我的代码

for($i = 0; $i < count($user_sldtl); $i++){
   $sl_response["error"] = FALSE;
   //$sl_response["sl_summ"]["sl_brcode"] = $user_sldtl[$i][0];
   //$sl_response["sl_summ"]["sl_memid"] = $user_sldtl[$i][3];
   $sl_response["sl_summ"]["sl_desc"] = $user_sldtl[$i][7];
   $sl_response["sl_summ"]["tr_date"] = $user_sldtl[$i][10];
   $sl_response["sl_summ"]["actual_balance"] = $user_sldtl[$i][14];
   $sl_response["sl_summ"]["available_balance"] = $user_sldtl[$i][14];
   json_encode($sl_response);
   //echo json_encode($sl_response, true);
}

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码:

<?php

$sl_response = array();
$sl_response["error"] = FALSE;
$sl_response["sl_summ"] = array();

for($i = 0; $i < count($user_sldtl); $i++){
    $item = array();
    //$item["sl_brcode"] = $user_sldtl[$i][0];
    //$item["sl_memid"] = $user_sldtl[$i][3];
    $item["sl_desc"] = $user_sldtl[$i][7];
    $item["tr_date"] = $user_sldtl[$i][10];
    $item["actual_balance"] = $user_sldtl[$i][14];
    $item["available_balance"] = $user_sldtl[$i][14];

    $sl_response["sl_summ"][] = $item;
}
//json_encode($sl_response);
echo json_encode($sl_response, true);