2017-10-02 2 views
-2

Shopify-api-node을 Shopify에서 제품을 만들 때 을 사용하고 있습니다. 나는이 구문shopify-api-node는 여분의 키로 구문 분석합니다.

shopify.metafield.create({ 
    key: 'warehouse', 
    value: 25, 
    value_type: 'integer', 
    namespace: 'inventory', 
    owner_resource: 'product', 
    owner_id: 632910392 
}).then(
    metafield => console.log(metafield), 
    err => console.error(err) 
); 

을 사용하고이 코드로 변환 :

self.parsedOutgoingItem(req, item, function(err, parsedItem) { 
          // get the corresponding method name for this type of model request 
          var recordType = modelMapping.key; 
          var postMethod = modelMapping.methods.post; 
          console.log(parsedItem); 
          console.log(JSON.stringify(parsedItem)); 
          shopify[recordType][postMethod]({ 
           parsedItem 
          }).then(
           metafields => console.log(metafields), 
           err => console.error(err) 
          ); 
         }); 

항목 parsedItem이 Shopify 키 값 obj를 매핑 된 객체를

parsedItem 콘솔입니다 출력

이 조건

if (params) { 
    const body = key ? { [key]: params } : params; 

    options.headers['Content-Type'] = 'application/json'; 
    options.body = body; 
    } 

enter image description here

을 사용하는 행 번호 (115) ... 에서하는 index.js의 코드의 결과

{ 
images:[ {"src":"https://s3.amazonaws.com/com.rugcopro.photos.turcopersian/images/268d6fd8-cb43-4309-b85e-1e747421df25.png"},          {"src":"https://s3.amazonaws.com/com.rugcopro.photos.turcopersian/images/c8af415e-2c6a-44df-9a18-42425389641a.png"} 
], 
product_type:"Rug", 
tags:["Oversize","Kerman Ravar","Rug","traditional",700,"Runner","Rectangle","Blue","Green"], 
title:"tirlw hsdka", 
variants:{"price":700,"option3":"wool","title":"Rug wool","sku":"13698,27411i","option1":"3.9x17.1","option2":"Green"} 
} 

210는

나의 JSON의 OBJ 파싱
{"product": `//it is what we need` 
{"parsedItem": `//it is what comes up which is causing the error` 
{ 
images:[ {"src":"https://s3.amazonaws.com/com.rugcopro.photos.turcopersian/images/268d6fd8-cb43-4309-b85e-1e747421df25.png"}, {"src":"https://s3.amazonaws.com/com.rugcopro.photos.turcopersian/images/c8af415e-2c6a-44df-9a18-42425389641a.png"} 
], 
product_type:"Rug", 
tags:["Oversize","Kerman Ravar","Rug","traditional",700,"Runner","Rectangle","Blue","Green"], 
title:"tirlw hsdka", 
variants:{"price":700,"option3":"wool","title":"Rug wool","sku":"13698,27411i","option1":"3.9x17.1","option2":"Green"} 
} 
} 

obj의 해당 "parsedItem"키로 인해 게시 요청에 오류가 발생했습니다. 이 오류를 어떻게 극복 할 수 있습니까?

저는 초보자입니다. 여기에 문제를 만들기 전에 이미 아무도 대답하지 않은 StackOverflow에 게시했습니다. 누군가 나를 도와 주면 친절 할 것입니다.

답변

0

바보 me !!

self.parsedOutgoingItem(req, item, function(err, parsedItem) { 
          // get the corresponding method name for this type of model request 
          var recordType = modelMapping.key; 
          var postMethod = modelMapping.methods.post; 
          console.log(parsedItem); 
          console.log(JSON.stringify(parsedItem)); 
          shopify[recordType][postMethod](
           parsedItem 
          ).then(
           metafields => console.log(metafields), 
           err => console.error(err) 
          ); 
         }); 

그냥 {} 주위 parsedItem

를 제거해야