小程序码生成,提示data format error hint

发布于 6 年前作者 xiuyingren8091 次浏览最后编辑 6 年前来自 ask

代码部分

$url = ‘https://api.weixin.qq.com/wxa/getwxacodeunlimit?access\_token='.$token\['access\_token’];
        $data = array(
            ‘path’=>‘pages/logs/logs’,
            ‘width’=>280,
            ‘scene’=>$room_id.“,”.$rand_code,
            ‘line_color’=>‘{“r”:“0”,“g”:“0”,“b”:“0”}’
            
        );

        $result = $this->curl($url,json_encode($data));

执行结果

{“errcode”:47001,“errmsg”:“data format error hint: [oUKtrA0772xa11]”}

请问是哪里不正确

6 回复
xia98
xia981 楼6 年前

rand_code 没有带引号。

guoxiulan
guoxiulan2 楼6 年前

写了个post 请求,可是没说是 applecation/json

yangshen
yangshen3 楼6 年前

47001通常是我们api收到的数据包不是预期的json数据格式。

留意到你直接把一个数组当作参数传入curl,而不是把数组做json_encode再传入

请自行检查,必要时建议把curl的post_data打印。

csong
csong4 楼6 年前

$params = [

    'scene' => 'productid=' . $productionid,
   'page' => 'pages/today/today',
   'width' => '430',
   'auto_color' => false,

   'line_color' => ['r'=>'0','g'=>'0','b'=>'0'],
   //'line_color' => "{'r':'0','g':'0','b':'0'}",
  // 'line_color' => '{"r":"0","g":"0","b":"0"}'
];
json_encode($params, JSON_UNESCAPED_SLASHES)
dmao
dmao5 楼6 年前

mark

xieping
xieping6 楼5 年前

现在我的代码里面 ‘line_color’=>'{“r”:“0”,“g”:“0”,“b”:“0”}'参数不加生成码也没有问题,只要加这个参数就有问题