如何驗證字符串/ JSON值的格式爲"\/Date(1239018869048)\/"
?我知道我可能有一個序列化的JSON日期字符串,但因爲JSON對象是動態的,我不知道哪個屬性是序列化的JSON日期。如何驗證字符串值格式爲「/Date(1239018869048) /」?
所以我想知道JSON屬性值是否會驗證爲JSON序列化日期的格式。
更新#1
這將是很好的檢查,如果您使用正則表達式,因爲一個整數會拋出異常之前,這是一個字符串的一個實例。這是@vzwick給出的答案。再次感謝。
json_obj = { 'foo' : 'bar', 'baz' : '/Date(1239018869048)/' }
pattern = /^\/Date\((\d*)\)\/$/;
for(e in json_obj) {
if (json_obj[e].constructor === String) {
if (json_obj[e].match(pattern)) {
// date found
}
}
}
更新#2
後試用不同的值,我發現我們有負數。所以現在的模式可以是 ;
pattern = /^\/Date\((-?\d*)\)\/$/;
你的意思是字符串字面?你的意思是將字符串作爲正則表達式嗎?或者,你的意思是一個字面'日期'左括號,數字字符串x字符長,右括號? – Corbin
我想知道一個字符串值是否以這種格式:/ Date(1239018869048)/。 – Tebo
如果按照「這種格式」,你的意思是「匹配這個正則表達式」,你可以對它進行比較,因爲它沒有動態模式。如果這不是你的意思,那麼我恐怕我很困惑。對於正則表達式匹配:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/match或者只是pattern.test(「some string」)例子:/^[0-9]+$/.test (「12345」) – Corbin