2016-01-20 3 views
-1

Я получаю данные из базы, в указанном ниже формате:преобразовать список Json массив

[{ 
    patientId=2501, 
    uniqueId=PID140, 
    firstName=bairava, 
    middleName=, 
    lastName=surya, 
    emailAddress=**1717259005##@noemailaddress.com, 
    birthday=2016-01-07 00:00:00.0, 
    portraitId=0, 
    race=, 
    companyId=10253, 
    ssn=123-54-7678, 
    ethnicity=0, 
    bloodGroup=0, 
    gender=1, 
    patientLanguageId=,   
    folderId=53501, 
    activationReason=, 
    deactivationReason=, 
    patientStatus=Active, 
    activationRequest=false, 
    cashPayment=true 
}] 

Как я могу перебирать и получить каждый детали по отдельности?

+0

что фактический формат ответа? Если это недействительно, JSON. –

+3

Java! = Javascript. –

+0

использовать JSON.parse (LIST) –

ответ

0

Это довольно сложно объяснить. Просто прочитайте код и попытайтесь понять.

Путь заключается в преобразовании этого string в объект структуры JavaScript.

// The output html from the server 
 
var msglis='[{ patientId=2501, uniqueId=PID140, firstName=bairava, middleName=, lastName=surya, emailAddress=**1717259005##@noemailaddress.com, birthday=2016-01-07 00:00:00.0, portraitId=0, race=, companyId=10253, ssn=123-54-7678, ethnicity=0, bloodGroup=0, gender=1, patientLanguageId=, folderId=53501, activationReason=, deactivationReason=, patientStatus=Active, activationRequest=false, cashPayment=true }, { patientId=2506, uniqueId=PID140, firstName=bairava, middleName=, lastName=surya, emailAddress=**1717259005##@noemailaddress.com, birthday=2016-01-07 00:00:00.0, portraitId=0, race=, companyId=10253, ssn=123-54-7678, ethnicity=0, bloodGroup=0, gender=1, patientLanguageId=, folderId=53501, activationReason=, deactivationReason=, patientStatus=Active, activationRequest=false, cashPayment=true }]'; 
 

 
var arr = msglis.replace(/=/g, ':').replace(/:.*?[,}]/g, function(a, b, c) { 
 
    console.log(c); 
 
    var comma = a.indexOf(',') > -1; 
 
    var val = a.replace(':', '').replace(',', ''); 
 
    
 
    if (/^\d+$/g.test(val)) { 
 
    return a; 
 
    } 
 
    else { 
 
    return ':"' + val + '"' + (comma ? ',' : '}'); 
 
    } 
 
}); 
 

 

 
var obj = eval(arr); 
 
document.body.innerHTML = JSON.stringify(obj);

Вы можете увидеть regex в действии here

+0

Большое спасибо за ваш ответ, не работает, если у него более одного объекта .... – user3235308

+0

Можете ли вы предоставить мне код, который работает для нескольких объектов. – user3235308

+0

спасибо, много! !!!!!!!!!!! – user3235308

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