在名称中获取带有数组索引的json元素

时间:2014-04-13 00:29:24

标签: javascript

您好我试图获取mongoose错误消息,并且描述的名称中包含一个数组索引。这是一个单元测试。

{message: 'Validation failed',
  name: 'ValidationError',
  errors:
   { 'contactInfo.0.email':
      { message: 'Invalid email',
        name: 'ValidatorError',
        path: 'email',
        type: 'user defined',
        value: 'fjksdal' } },
  key: 'undefined.0.undefined' }

上一个获取消息的示例我会这样做:

(err.errors.passHash.message).should.eql('PASSWORD_NOT_HASHED');

然而,这种变化失败了,我可以看到原因,不确定解决方法是什么。

(err.errors.contactInfo.0.email.message).should.eql('Invalid Email')

感谢

1 个答案:

答案 0 :(得分:0)

这是无效的JSON,所以我认为你的意思是它是一个Javascript对象。

使用括号语法访问名称不能为标识符的属性:

(err.errors['contactInfo.0.email'].message).should.eql('Invalid Email')