2014-01-19 89 views
1

我在我的系統收到一個文本框下面的JSON字符串格式,我想知道是否有一個正則表達式驗證的方式,是一個有效的JSON字符串的正則表達式:驗證JSON字符串在JavaScript

{ 
    "settings":{ 
    "user":"...", 
    "pass":"..." 
    }, 
    "data":[ 
    { 
     "id":1, 
     "field1":"...", 
     "field2":"..." 
    }, 
    { 
     "id":2, 
     "field1":"...", 
     "field2":"..." 
    } 
    ] 
} 

感謝您的任何建議。

+0

只是驗證的東西是JSON是很蹩腳的,它不能告訴你的數據。這就像整個表格的有效化,因爲一個文本框不是空白的。解析和驗證實際數據更安全,更可靠,而不只是說「它看起來像是我想要的東西的形狀」...... – dandavis

回答

-1

而不是使用正則表達式,你可以嘗試分析它立刻:

function isValidJSON(string) { 
    try { 
    JSON.parse(string); 
    } catch (e) { 
    return false; 
    } 

    return true; 
} 
+4

他說使用正則表達式。你爲什麼用_回答而不是使用RegEx_?爲什麼? –

+2

@RoyiNamir OP也沒有說明他關於try/catch的任何事情。我相信這個正則表達式對於這個任務來說會是一個矯枉過正的事情。我的回答沒有用? – Pavlo

+0

他說用正則表達式。另外,ie8不支持JSON。另外,他應該有谷歌 - 它是重複的。 –