Преобразование массива в строку в формате JSON - PullRequest
0 голосов
/ 01 февраля 2019

Это мой пример данных JSON, которые мне нужно взорвать.В это время я получаю ошибку преобразования массива в строку.

JSON

{
"user_id" :"110" ,
"parent_id": "115",
"relation_name" : "justin",
"data" :[
{"relation_ship": "brohter"},   
{"relation_ship": "sister"}
],
"sum_assured": "89745$-$48721",
"annual_primium":"00000$-$0006557",
"paid_status" : "0$-$1",
"ins_company_name" : "yes",
"renew_date": "2018-10-11$-$2018-10-23"
}

Вот моя функция для взрыва, пожалуйста, помогите мне исправить это.

<?php

if (isset($data)) {
    foreach ($data as $value) {
        $data_insert['user_id'] = $user_id;
        $data_insert['parent_id'] = $user_id;
        $data_insert['relation_name'] = $data['relation_name'];
        $data_insert['relation_ship'] = implode("$-$", $data['data']);
        $data_insert['sum_assured'] = implode("$-$", $data['sum_assured']);
        $data_insert['annual_primium'] = implode("$-$", $data['annual_primium']);
        $data_insert['paid_status'] = implode("$-$", $data['paid_status']);
        $data_insert['renew_date'] = implode("$-$", $data['renew_date']);
        $data_insert['ins_company_name'] = implode("$-$", $data['ins_company_name']);
        DB::table('health_tbl')->insert($data_insert);
    }

    return response()->json(['status' => 'Success', 'message' => 'Success']);
}

return response()->json(['status' => 'Failure', 'message' => 'Failed']);

1 Ответ

0 голосов
/ 01 февраля 2019

Нельзя взорвать то, что не является массивом.Implode в основном используется, чтобы превратить что-то вроде этого:

array('something', 'something else')

Во что-то вроде этого:

implode('<delim>', array('something', 'something else')) => "something<delim>something else"

Собираетесь ли вы взорвать их, чтобы разорвать их в свои собственные массивы?

В этом случае используйте explode следующим образом:

explode('$-$', $data['paid_status']);

Это вернет (используя ваши данные выше):

array("0", "1")
...