我在节点中使用express-validator来验证我的表单,一旦我返回了我的验证结果充满错误,他们通过一个对象(这是我有):嵌套的对象是一个字符串 - 需要它们作为对象
{ email:
{ param: 'email',
msg: 'Email address must be between 4-100 characters long, please try again.',
value: '' },
name:
{ param: 'name',
msg: 'Name must be between 3-20 characters long.',
value: '' },
password:
{ param: 'password',
msg: 'Password must include one lowercase character, one uppercase character, a number, and a special character.',
value: '' },
passwordc:
{ param: 'passwordc',
msg: 'Password must be between 8-50 characters long.',
value: '' } }
我的问题是,这是一个“字符串”,不幸的不是对象类型。我需要把它转换成它应该是的,一个嵌套对象的对象。
我无法使用JSON.parse,因为这不是有效的JSON。
我该如何将这个对象串变成一个对象?这样我可以循环显示相关的错误。
感谢您的帮助。 P.S我是超级卡住这个 - 所以如果你知道这个答案,那么很多布朗尼都指向我,指向你。干杯!
你的JSON是有效的,为什么你不能在这种情况下使用'JSON.parse'? –
你可以用JSONLint检查出来,这是无效的。有效的JSON应该有双引号,而不是单个引号,并且所有的键也应该在它们周围加双引号。我可以使用JSON.parse的唯一方法是在运行太多正则表达式之后,这不是一个好方法,因为键名可能会改变。我真的很难过这个! – Notorious
我很困惑,这是一个有效的JavaScript对象,而不是一个字符串。 – str