John
John

Reputation: 25

How to convert json Object to json Array?

Im new to Json and I encountered a problem that need to be fix so that I can continue with my project.. Hope you will help me guys..

This is my Json Object response

{
 "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"
    }
}

and I want to convert my following Json Object (above) to this Json array format (below)

{
  "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"
    }]
}

this is my code

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);
}

Upvotes: 1

Views: 54

Answers (1)

Mohammad Hamedani
Mohammad Hamedani

Reputation: 3354

You can use following codes:

<?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);

Upvotes: 1

Related Questions