【发布时间】:2022-03-01 14:17:25
【问题描述】:
我想从邮递员将数据输入到数据类型为 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']));
【问题讨论】:
-
$body['approver'] 包含什么?
-
$body['apporver'] 包含:“[{'mst_mail_group_id':1},{'mst_mail_group_id':4}]”
-
“错误在线” - 这是什么意思?您面临哪种错误?您尝试过什么解决方法?该错误与 Postman 有何关系?