我想将数据输入一个数据类型来自postman的json字段,但是我得到了一个类似于上面的错误,下面是我的代码:
foreach($request->body as $body)
{
if(!empty($body['id'])){
$approval_template_body = \App\Models\ApprovalTemplateBody::find($body['id']);
}
else {
$approval_template_body = new \App\Models\ApprovalTemplateBody();
}
$approval_template_body->approval_template_head_id = $approval_template_head->id;
$approval_template_body->order_number = $body['order_number'];
$approval_template_body->approver = str_replace("'", '"', $body['approver']);
$approval_template_body->is_free_choice = $body['is_free_choice'] ? 1 : 0;
$approval_template_body->is_free_choice_loop = $body['is_free_choice_loop'] ? 1 : 0;
$approval_template_body->can_multiple = $body['can_multiple'] ? 1 : 0;
$approval_template_body->on_approve = $body['on_approve'];
$approval_template_body->on_reject = $body['on_reject'];
$approval_template_body->save();
}下面是我要输入的数据:
"approver": "[{'mst_mail_group_id':1},{'mst_mail_group_id':4}]",我希望将单引号(')替换为双引号(")
错误出现在下面这条线上:
$approval_template_body->approver = str_replace("'", '"', $body['approver']);我找到了解决方案,解决方案是:$approval_template_body->approver = json_encode(str_replace("'", '"', $body['approver']));
发布于 2022-03-01 06:17:25
谢谢您的帮助,我找到了解决办法,解决办法是:
$approval_template_body->approver = json_encode(str_replace("'", '"', $body['approver'])); 发布于 2022-02-15 08:33:23
您可能会收到错误,因为您试图在json对象上使用str替换。
试试这个:
$approval_template_body->approver = str_replace("'", '"', (string) $body['approver']);https://stackoverflow.com/questions/71121935
复制相似问题