我在節點中使用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