2015-09-14 4 views
-7

Итак, у меня есть следующие данные здесь:Regex содержание экстракта

{"screenName":"fubars","msgHash":"C5STUYqhjzNiP6LLVbPlTF3zYLVYXHrm","imgURL":null,"userColor":"#00a4a0","messageTime":"2:50 PM","messageDate":1442256635621,"accountType":"m","accountTypeID":"z2ZkdXqck-JO45hqXVXH","isModerator":"","badges":"" 

Я написал несколько регулярных выражений для извлечения строк, но если бы я искать, например, «ScreenName» он получает «fubars» часть и остальная часть строки, я только хочу «fubars» часть ... код:

function extractSummary(iCalContent, what) { 
    eval("var rxm = /\""+what+"\": \"(.*)\"/g"); 
    console.log(rxm); 
    setTimeout(function(){},1500); 
    var arr = rxm.exec(iCalContent); 
    return arr[1]; 
} 
+2

только ... почему ... 'JSON.parse' – ndugger

+0

В каком формате представлены данные? У вас есть строка JSON? У вас есть объект JavaScript? Вы знаете, как обращаться к свойствам объекта? –

+0

P.S. 'obj.screenName' –

ответ

0

Если у вас есть какие-то данные в виде строки JSON, вы можете использовать JSON.parse, чтобы преобразовать его в объект JSON , Затем вы можете использовать dot или index.

var jsonString = '{"screenName":"fubars","msgHash":"C5STUYqhjzNiP6LLVbPlTF3zYLVYXHrm"}'; 
var jsonObject = JSON.parse(jsonString); 

console.log(jsonObject.screenName); 
console.log(jsonObject['screenName']); 

Здесь нет необходимости использовать регулярные выражения.

Смежные вопросы