对象对象无法转换为字符串

时间:2012-04-26 12:29:23

标签: javascript android json cordova stringify

我正在尝试使用Android上的手机间隙访问移动联系人。 我访问联系人&在下拉框中显示它们,然后用户应选择所需的联系人,此后该文本框中应显示此联系人。

现在,当我点击联系人列表中的某个联系人时,文本框的值将更改为[对象对象]。

我试过了:

    JSON.stringify(data.value);

但它只是将[object object]更改为“[object object]”。

我试过了:

    data.value.tostring(); 

&安培;

    data.value.formatted;

但输出未定义。

这是jS行我用以下内容更改文本框内容:

       document.getElementById ("friendName").value = "/*Stringified data is written here*/;

所以你知道如何将对象对象更改为正常的可读字符串吗?

2 个答案:

答案 0 :(得分:2)

如果您的“数据”对象属于Contact类型,那么如果您想要联系人姓名,则应该使用data.displayName或data.name.formatted。

答案 1 :(得分:1)

您正在使用的联系对象看起来没有toString()实现;默认的JavaScript toString()会为您提供结果。您必须编写一个函数来提取所需的成员值并创建一个字符串。或者,您可以添加toString(),但我不认为这是最佳选择,因为Contact对象似乎来自第三方Cordova,正如@Simon MacDonald在回答中所确定的那样