首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无效文本表示:7错误:类型json\nDETAIL:输入字符串意外结束的输入语法无效

无效文本表示:7错误:类型json\nDETAIL:输入字符串意外结束的输入语法无效
EN

Stack Overflow用户
提问于 2022-02-15 06:26:33
回答 2查看 434关注 0票数 0

我想将数据输入一个数据类型来自postman的json字段,但是我得到了一个类似于上面的错误,下面是我的代码:

代码语言:javascript
复制
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();


            }

下面是我要输入的数据:

代码语言:javascript
复制
"approver": "[{'mst_mail_group_id':1},{'mst_mail_group_id':4}]",

我希望将单引号(')替换为双引号(")

错误出现在下面这条线上:

代码语言:javascript
复制
$approval_template_body->approver = str_replace("'", '"', $body['approver']);

我找到了解决方案,解决方案是:$approval_template_body->approver = json_encode(str_replace("'", '"', $body['approver']));

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-01 06:17:25

谢谢您的帮助,我找到了解决办法,解决办法是:

代码语言:javascript
复制
$approval_template_body->approver   = json_encode(str_replace("'", '"', $body['approver'])); 
票数 0
EN

Stack Overflow用户

发布于 2022-02-15 08:33:23

您可能会收到错误,因为您试图在json对象上使用str替换。

试试这个:

代码语言:javascript
复制
$approval_template_body->approver = str_replace("'", '"', (string) $body['approver']);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71121935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档