Search.lookupFields()方法是返回[0bject Object]而不是键值对

时间:2016-10-17 11:27:31

标签: javascript json object netsuite keyvaluepair

我已在客户记录上创建了查找搜索以获取特定字段值。同时将获得的结果置于警告状态,显示为 [object,object] 。我已将结果转换为字符串JSON stringfy方法。

警告显示结果如下:

{"custentity_cseg_customer_categ":[{"value":"6","text":"DTC"}]}

但是想要键“text”的值:示例:上面代码中的DTC

代码:

Suitescript 2.0 version:
    var customerCategoryFieldLookUp = search.lookupFields({
                    type:'CUSTOMER' ,
                    id: 13,
                    columns: ['custentity_cseg_customer_categ']
                    });

                 alert("CustomerCategoryFieldLookUp:"+ JSON.stringify(customerCategoryFieldLookUp));

3 个答案:

答案 0 :(得分:1)

这是search.lookupFields的预期行为。查看标有API的 search.lookupFields(options)的NS帮助页面。以下是帮助说明的返回值:

  

退货: Object

     
      
  • 将选择字段作为具有值和文本属性的对象返回。
  •   
  • 将多选字段作为具有值的对象返回:文本对。
  •   
     

例如,此方法以下列形式返回结果:    { internalid: 1234, firstname: 'Joe', my_select: [{ value: 1, text: 'US Sub' }], my_multiselect: [{ value: 1, text: 'US Sub' },{ value: 2, text: 'EU Sub' }] }

要检索select或multiselect字段的值,您需要使用Array访问:

var customerCategoryFieldLookUp = search.lookupFields({
  type:'CUSTOMER' ,
  id: 13,
  columns: ['custentity_cseg_customer_categ']
});

alert("custentity_cseg_customer_categ:"+ customerCategoryFieldLookUp.custentity_cseg_customer_categ[0].value);

答案 1 :(得分:0)

这应该适合你:

alert( "CustomerCategoryFieldLookUp:"+ custentity_cseg_customer_categ[0].text);

Chrome devtools也是你的朋友:按ctrl-shift-j并粘贴

x = {"custentity_cseg_customer_categ":[{"value":"6","text":"DTC"}]}
现在进入控制台,您可以查看它并尝试探索

答案 2 :(得分:0)

尝试使用console.log(customerCategoryFieldLookUp)来检查对象键。 从我看到的对象看起来像

customerCategoryFieldLookUp {
   custentity_cseg_customer_categ :{
      value:6,
      text:"DTC"
   } 
}

Use
alert(customerCategoryFieldLookUp.custentity_cseg_customer_categ.text)
or
alert(customerCategoryFieldLookUp.custentity_cseg_customer_categ.value)