json= new Gson().toJson(name);
其中name的类型为string。
我收到错误说" TypeError:无效' in'操作数obj"
错误出现在java脚本的给定部分
中 return type === "array" || type !== "function" &&
( length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj );
我也试过
response=JSON.parse(response);
无效。
答案 0 :(得分:2)
通过链接In operator,您可以看到
在您的代码如果指定的属性在指定的对象中,则in运算符返回true。
( length - 1 ) in obj
中尝试检查obj中数字的(length - 1)
属性
我认为obj
是string
,因此它具有length
属性,但没有数字属性,所以你必须抓住这个案例
答案 1 :(得分:1)
我在括号内的obj中关闭了代码“(length - 1)。
return type === "array" || type !== "function" &&
( length === 0 ||
typeof length === "number" && length > 0 && (( length - 1 ) in obj) );
这对我来说很好。
答案 2 :(得分:0)
在我的情况下,对象不是空的,但我需要在对象的键上添加双引号,例如:
obj = {params : "paramsInputPreData"}
以上将产生错误,但下面的错误是正确的:
obj = {"params" : "paramsInputPreData"}
所以对我来说,关键需要被引用为" params"
希望它有助于某人
答案 3 :(得分:0)
如果出现此错误,您需要检查变量的类型等,您可以随时执行以下操作:
if (typeof x == 'string' || typeof x == 'number') { ... }