2012-09-21 3 views
2

판매자가 body_html 필드에 일반 텍스트를 입력하는 한 판매자가 새 제품을 추가하면 잘 작동합니다. 그러나 복사 붙여 넣기에서 HTML을 추가하거나 WYSIWYG 편집기 (""가있는 이미지 편집기)에 이미지를 추가하려고하면 다음과 같이 유명 해집니다.Shopify - 새 제품 추가시 API 오류 (Lexical JSON 오류)

어휘 오류 : json 텍스트의 잘못된 문자.

이제는 알 수없는 출처에서 붙여 넣을 수 있습니다. 어떻게 ShopifyAPI로 보내기 전에 body_html을 정리할 수 있는지를 알아낼 수있는 방법이 있습니까? 그런데

, 나는 PHP와 wcurl.php을 사용하고 https://github.com/sandeepshetty/wcurl

UPDATE :

어휘 오류 : JSON 텍스트에 잘못된 문자.

   "{"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)); 

답변

2

솔루션입니다 : 내 Shopify 클라이언트에서이 작업을 수행

stripslashes(json_encode($params)) 

: https://github.com/sandeepshetty/shopify_api/blob/1f538276e690bd7b95f9cbb4007576ecb2d3f6de/client.php#L52

주 : PHP 5.4.0에 O가있다. 이것에 대한 대답은 json_encode입니다.

+0

안녕 Sandeep. 나는 그것을 또한 시험해 보았다. 내 질문의 맨 끝에 코드 샘플을 넣습니다. –

+0

안녕 Sandeep. 방금 실현, 당신을 위해 당신의 Shopify 클라이언트 코드를 사용하고 있습니다 –

+0

그래서, 그냥 StripSlashes 또는 Json_Encode없이 Array() 전달하면 작동합니다. 어느 것이 예상됩니다. 그러나 body_html 제품의 본문에 HTML을 넣으면 끊어집니다. –