在做微信公众号开发时,因为获得的微信传递过来的数据是json格式,特别是在做个性化菜单时相当麻烦,必须要验证某个标签是否存在,如果在存就继续操作,下面就是用到的示例代码。
以下是操作示例:
'性别
if jsonObject.conditionalmenu.Get(i).matchrule.hasOwnProperty("sex") then onenav_zi_sex = jsonObject.conditionalmenu.Get(i).matchrule.sex
'网址
if jsonObject.conditionalmenu.Get(i).button.Get(n).sub_button.Get(y).hasOwnProperty("url") then treenav_url = jsonObject.conditionalmenu.Get(i).button.Get(n).sub_button.Get(y).url
Object对象hasOwnProperty方法的作用,如何判断一个JSON对象中是否有某个键key
Object 对象自身用处不大,不过在了解其他类之前,还是应该了解它。因为 ECMAScript 中的 Object 对象与 Java 中的 java.lang.Object 相似,ECMAScript 中的所有对象都由这个对象继承而来,Object 对象中的所有属性和方法都会出现在其他对象中,所以理解了 Object 对象,就可以更好地理解其他对象。
Object 对象具有下列属性:
constructor
对创建对象的函数的引用(指针)。对于 Object 对象,该指针指向原始的 Object() 函数。
Prototype
对该对象的对象原型的引用。对于所有的对象,它默认返回 Object 对象的一个实例。
hasOwnProperty(property)
判断对象是否有某个特定的属性。必须用字符串指定该属性。(例如,o.hasOwnProperty("name"))
IsPrototypeOf(object)
判断该对象是否为另一个对象的原型。
PropertyIsEnumerable
判断给定的属性是否可以用 for...in 语句进行枚举。
ToString()
返回对象的原始字符串表示。对于 Object 对象,ECMA-262 没有定义这个值,所以不同的 ECMAScript 实现具有不同的值。
ValueOf()
返回最适合该对象的原始值。对于许多对象,该方法返回的值都与 ToString() 的返回值相同。
注释:上面列出的每种属性和方法都会被其他对象覆盖。