Shopify - 添加新产品时出现API错误(Lexical JSON错误)

时间:2012-09-21 17:57:52

标签: php curl shopify

当商家添加新产品时,只要他们在body_html字段中键入普通文本,它就会很好用。但是,当他们尝试从复制粘贴添加一些HTML或将图像添加到WYSIWYG编辑器(具有“”)时,我们得到了着名的:

词法错误:json文本中的char值无效。

现在,他们可能会从一个未知的来源粘贴,有没有办法弄清楚如何在将它发送到ShopifyAPI之前清理body_html?

顺便说一句,我正在使用PHP和wcurl.php https://github.com/sandeepshetty/wcurl

更新:

词法错误:json文本中的char值无效。

              "{"product":{"title":"Sample Event
    (right here) ------^

代码示例:

$shopify_data = array
(
   "product"=>array
   (
     "title"=>$rs->product_title,
     "body_html"=>$rs->product_details,
     "vendor"=>"My Companay",
     "product_type"=>"Laptop"
   )
);

foreach ($variant as $key => $value) {
  $shopify_data["product"]["variants"][$key] = array(
    "option1"=> $value->variant_name,
    "price"=> $value->price,
    "requires_shipping"=>'true',
    "inventory_management"=>"shopify",
    "inventory_quantity"=> $value->quantity
  );
}

// $shopify_data = json_encode($shopify_data);  // This does not work either.
$shopify_data = stripslashes(json_encode($shopify_data));

1 个答案:

答案 0 :(得分:2)

如果我理解这一点,解决方案就是:

stripslashes(json_encode($params))

我在Shopify客户端执行此操作: https://github.com/sandeepshetty/shopify_api/blob/1f538276e690bd7b95f9cbb4007576ecb2d3f6de/client.php#L52

注意:PHP 5.4.0在json_encode中有一个选项。