微信小程序码生成时报data format error

在尝试自定义微信小程序码线条颜色时遇到"data format error"问题。错误源于POST参数未按JSON格式编码。最初认为是json_encode将数组转成字符串导致,但实际是直接传递了非JSON编码的参数给微信API。解决方案是确保所有复杂类型参数如array在发送请求前都用json_encode编码为JSON字符串。
摘要由CSDN通过智能技术生成

报错原因

一般而言报 data format error 就意味着传入的参数与微信API所需要的参数类型不一致,所以只要检查请求的参数类型是否与要求的参数类型一致即可

具体情况

在微信生成小程序码的时候,想要自定义线条颜色,根据图片可以看出来,line_color 类型为 Object 对象,给了个默认值
微信接口

一看是 json对象,这个时候,我使用了 json_encode() 将传入的值编码为 json 字符串

<?php
$lineColor = '255,255,255';
$lineColor = str_replace(',', ',', $lineColor);
$lineColorArr = explode(',', $lineColor);
$lineColorRgb['r'] = $lineColorArr[0];
$lineColorRgb['g'] = $lineColorArr[1];
$lineColorRgb['b'] = $lineColorArr[2];
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

居庆说数

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值