{"PatientSearchResult":{"Patient":[{"AccountBalanceCalcMethod":2,"AlternatePatientID":0,"AssignmentOfBenifits":0,"CellPhoneNumber1":null,"CellPhoneNumber2":null,"Citizenship":0,"Credential":0,"DateOfBirth":null,"Deceased":0,"DeceasedDate":"\/Date(-62135578800000-0500)\/","DoesPatientHaveResidentProof":false,"DriversLicenseNumber":null,"DriversLicenseState":0,"EmailAddress1":null,"EmailAddress2":null,"Enabled":false,"Ethnicity":0,"Firstname":"2914 FirstName","FullName":"2914 FirstName 2914 LastName","Gender":2,"GuarantorID":0,"IsFinancialRisk":false,"IsPatient":false,"LastName":"2914 LastName","LocalName":null,"MaidenName":null,"MaritalStatus":0,"MiddleName1":null,"MiddleName2":null,"MothersMaidenName":null,"Nickname":null,"NoteText":null,"Notes":null,"Occupation":null,"OriginalPatientID":0,"PagerNumber":null,"PersonID":0,"PharmacyName":null,"PharmacyNoteID":0,"PhoneNumber1":null,"PhoneNumber2":null,"Prefix":0,"PrimaryLanguage":0,"PrimaryPhoneNumber":null,"PrimaryPhysID":0,"PrimaryWorkPhone":null,"Race":0,"ReleaseOfInformation":false,"Religion":0,"ResidentialAddress":null,"SSN":null,"SealedFlagID":0,"SecondaryLanguage":0,"StudentStatusID":0,"Suffix":0,"PatientID":2914},{"AccountBalanceCalcMethod":2,"AlternatePatientID":0,"AssignmentOfBenifits":0,"CellPhoneNumber1":null,"CellPhoneNumber2":null,"Citizenship":0,"Credential":0,"DateOfBirth":"\/Date(378709200000-0500)\/","Deceased":0,"DeceasedDate":"\/Date(-62135578800000-0500)\/","DoesPatientHaveResidentProof":false,"DriversLicenseNumber":null,"DriversLicenseState":0,"EmailAddress1":null,"EmailAddress2":null,"Enabled":false,"Ethnicity":0,"Firstname":"4261 FirstName","FullNam开发者_Python百科e":"4261 FirstName 4261 LastName","Gender":2,"GuarantorID":0,"IsFinancialRisk":false,"IsPatient":false,"LastName":"4261 LastName","LocalName":null,"MaidenName":null,"MaritalStatus":0,"MiddleName1":null,"MiddleName2":null,"MothersMaidenName":null,"Nickname":null,"NoteText":null,"Notes":null,"Occupation":null,"OriginalPatientID":0,"PagerNumber":null,"PersonID":0,"PharmacyName":null,"PharmacyNoteID":0,"PhoneNumber1":null,"PhoneNumber2":null,"Prefix":0,"PrimaryLanguage":0,"PrimaryPhoneNumber":null,"PrimaryPhysID":0,"PrimaryWorkPhone":null,"Race":0,"ReleaseOfInformation":false,"Religion":0,"ResidentialAddress":null,"SSN":null,"SealedFlagID":0,"SecondaryLanguage":0,"StudentStatusID":0,"Suffix":0,"PatientID":4261},{"AccountBalanceCalcMethod":2,"AlternatePatientID":0,"AssignmentOfBenifits":0,"CellPhoneNumber1":null,"CellPhoneNumber2":null,"Citizenship":0,"Credential":0,"DateOfBirth":"\/Date(1136264400000-0500)\/","Deceased":0,"DeceasedDate":"\/Date(-62135578800000-0500)\/","DoesPatientHaveResidentProof":false,"DriversLicenseNumber":null,"DriversLicenseState":0,"EmailAddress1":null,"EmailAddress2":null,"Enabled":false,"Ethnicity":0,"Firstname":"Bo","FullName":"Bo Ray","Gender":2,"GuarantorID":0,"IsFinancialRisk":false,"IsPatient":false,"LastName":"Ray","LocalName":null,"MaidenName":null,"MaritalStatus":0,"MiddleName1":null,"MiddleName2":null,"MothersMaidenName":null,"Nickname":null,"NoteText":null,"Notes":null,"Occupation":null,"OriginalPatientID":0,"PagerNumber":null,"PersonID":0,"PharmacyName":null,"PharmacyNoteID":0,"PhoneNumber1":null,"PhoneNumber2":null,"Prefix":0,"PrimaryLanguage":0,"PrimaryPhoneNumber":null,"PrimaryPhysID":0,"PrimaryWorkPhone":null,"Race":0,"ReleaseOfInformation":false,"Religion":0,"ResidentialAddress":null,"SSN":null,"SealedFlagID":0,"SecondaryLanguage":0,"StudentStatusID":0,"Suffix":0,"PatientID":19369},{"AccountBalanceCalcMethod":2,"AlternatePatientID":0,"AssignmentOfBenifits":0,"CellPhoneNumber1":null,"CellPhoneNumber2":null,"Citizenship":0,"Credential":0,"DateOfBirth":"\/Date(-2192126400000-0400)\/","Deceased":0,"DeceasedDate":"\/Date(-62135578800000-0500)\/","DoesPatientHaveResidentProof":false,"DriversLicenseNumber":null,"DriversLicenseState":0,"EmailAddress1":null,"EmailAddress2":null,"Enabled":false,"Ethnicity":0,"Firstname":"Mark","FullName":"Mark Noyce","Gender":2,"GuarantorID":0,"IsFinancialRisk":false,"IsPatient":false,"LastName":"Noyce","LocalName":null,"MaidenName":null,"MaritalStatus":0,"MiddleName1":null,"MiddleName2":null,"MothersMaidenName":null,"Nickname":null,"NoteText":null,"Notes":null,"Occupation":null,"OriginalPatientID":0,"PagerNumber":null,"PersonID":0,"PharmacyName":null,"PharmacyNoteID":0,"PhoneNumber1":null,"PhoneNumber2":null,"Prefix":0,"PrimaryLanguage":0,"PrimaryPhoneNumber":null,"PrimaryPhysID":0,"PrimaryWorkPhone":null,"Race":0,"ReleaseOfInformation":false,"Religion":0,"ResidentialAddress":null,"SSN":null,"SealedFlagID":0,"SecondaryLanguage":0,"StudentStatusID":0,"Suffix":0,"PatientID":19387},{"AccountBalanceCalcMethod":2,"AlternatePatientID":0,"AssignmentOfBenifits":0,"CellPhoneNumber1":null,"CellPhoneNumber2":null,"Citizenship":0,"Credential":0,"DateOfBirth":"\/Date(-5347800000000-0400)\/","Deceased":0,"DeceasedDate":"\/Date(-62135578800000-0500)\/","DoesPatientHaveResidentProof":false,"DriversLicenseNumber":null,"DriversLicenseState":0,"EmailAddress1":null,"EmailAddress2":null,"Enabled":false,"Ethnicity":0,"Firstname":"Kevin","FullName":"Kevin Noyce","Gender":2,"GuarantorID":0,"IsFinancialRisk":false,"IsPatient":false,"LastName":"Noyce","LocalName":null,"MaidenName":null,"MaritalStatus":0,"MiddleName1":null,"MiddleName2":null,"MothersMaidenName":null,"Nickname":null,"NoteText":null,"Notes":null,"Occupation":null,"OriginalPatientID":0,"PagerNumber":null,"PersonID":0,"PharmacyName":null,"PharmacyNoteID":0,"PhoneNumber1":null,"PhoneNumber2":null,"Prefix":0,"PrimaryLanguage":0,"PrimaryPhoneNumber":null,"PrimaryPhysID":0,"PrimaryWorkPhone":null,"Race":0,"ReleaseOfInformation":false,"Religion":0,"ResidentialAddress":null,"SSN":null,"SealedFlagID":0,"SecondaryLanguage":0,"StudentStatusID":0,"Suffix":0,"PatientID":19388},{"AccountBalanceCalcMethod":2,"AlternatePatientID":0,"AssignmentOfBenifits":0,"CellPhoneNumber1":null,"CellPhoneNumber2":null,"Citizenship":0,"Credential":0,"DateOfBirth":"\/Date(-381697200000-0500)\/","Deceased":0,"DeceasedDate":"\/Date(-62135578800000-0500)\/","DoesPatientHaveResidentProof":false,"DriversLicenseNumber":null,"DriversLicenseState":0,"EmailAddress1":null,"EmailAddress2":null,"Enabled":false,"Ethnicity":0,"Firstname":"Scott","FullName":"Scott Noyce","Gender":2,"GuarantorID":0,"IsFinancialRisk":false,"IsPatient":false,"LastName":"Noyce","LocalName":null,"MaidenName":null,"MaritalStatus":0,"MiddleName1":null,"MiddleName2":null,"MothersMaidenName":null,"Nickname":null,"NoteText":null,"Notes":null,"Occupation":null,"OriginalPatientID":0,"PagerNumber":null,"PersonID":0,"PharmacyName":null,"PharmacyNoteID":0,"PhoneNumber1":null,"PhoneNumber2":null,"Prefix":0,"PrimaryLanguage":0,"PrimaryPhoneNumber":null,"PrimaryPhysID":0,"PrimaryWorkPhone":null,"Race":0,"ReleaseOfInformation":false,"Religion":0,"ResidentialAddress":null,"SSN":null,"SealedFlagID":0,"SecondaryLanguage":0,"StudentStatusID":0,"Suffix":0,"PatientID":19389},{"AccountBalanceCalcMethod":2,"AlternatePatientID":0,"AssignmentOfBenifits":0,"CellPhoneNumber1":null,"CellPhoneNumber2":null,"Citizenship":0,"Credential":0,"DateOfBirth":"\/Date(-445806000000-0500)\/","Deceased":0,"DeceasedDate":"\/Date(-62135578800000-0500)\/","DoesPatientHaveResidentProof":false,"DriversLicenseNumber":null,"DriversLicenseState":0,"EmailAddress1":null,"EmailAddress2":null,"Enabled":false,"Ethnicity":0,"Firstname":"John","FullName":"John Doe","Gender":2,"GuarantorID":0,"IsFinancialRisk":false,"IsPatient":false,"LastName":"Doe","LocalName":null,"MaidenName":null,"MaritalStatus":0,"MiddleName1":null,"MiddleName2":null,"MothersMaidenName":null,"Nickname":null,"NoteText":null,"Notes":null,"Occupation":null,"OriginalPatientID":0,"PagerNumber":null,"PersonID":0,"PharmacyName":null,"PharmacyNoteID":0,"PhoneNumber1":null,"PhoneNumber2":null,"Prefix":0,"PrimaryLanguage":0,"PrimaryPhoneNumber":null,"PrimaryPhysID":0,"PrimaryWorkPhone":null,"Race":0,"ReleaseOfInformation":false,"Religion":0,"ResidentialAddress":null,"SSN":null,"SealedFlagID":0,"SecondaryLanguage":0,"StudentStatusID":0,"Suffix":0,"PatientID":19395},{"AccountBalanceCalcMethod":2,"AlternatePatientID":0,"AssignmentOfBenifits":0,"CellPhoneNumber1":null,"CellPhoneNumber2":null,"Citizenship":0,"Credential":0,"DateOfBirth":"\/Date(-880830000000-0500)\/","Deceased":0,"DeceasedDate":"\/Date(-62135578800000-0500)\/","DoesPatientHaveResidentProof":false,"DriversLicenseNumber":null,"DriversLicenseState":0,"EmailAddress1":null,"EmailAddress2":null,"Enabled":false,"Ethnicity":0,"Firstname":"Dagwood","FullName":"Dagwood Bumstead","Gender":2,"GuarantorID":0,"IsFinancialRisk":false,"IsPatient":false,"LastName":"Bumstead","LocalName":null,"MaidenName":null,"MaritalStatus":0,"MiddleName1":null,"MiddleName2":null,"MothersMaidenName":null,"Nickname":null,"NoteText":null,"Notes":null,"Occupation":null,"OriginalPatientID":0,"PagerNumber":null,"PersonID":0,"PharmacyName":null,"PharmacyNoteID":0,"PhoneNumber1":null,"PhoneNumber2":null,"Prefix":0,"PrimaryLanguage":0,"PrimaryPhoneNumber":null,"PrimaryPhysID":0,"PrimaryWorkPhone":null,"Race":0,"ReleaseOfInformation":false,"Religion":0,"ResidentialAddress":null,"SSN":null,"SealedFlagID":0,"SecondaryLanguage":0,"StudentStatusID":0,"Suffix":0,"PatientID":19414},{"AccountBalanceCalcMethod":2,"AlternatePatientID":0,"AssignmentOfBenifits":0,"CellPhoneNumber1":null,"CellPhoneNumber2":null,"Citizenship":0,"Credential":0,"DateOfBirth":null,"Deceased":0,"DeceasedDate":"\/Date(-62135578800000-0500)\/","DoesPatientHaveResidentProof":false,"DriversLicenseNumber":null,"DriversLicenseState":0,"EmailAddress1":null,"EmailAddress2":null,"Enabled":false,"Ethnicity":0,"Firstname":"Clyde","FullName":"Clyde Barrow","Gender":2,"GuarantorID":0,"IsFinancialRisk":false,"IsPatient":false,"LastName":"Barrow","LocalName":null,"MaidenName":null,"MaritalStatus":0,"MiddleName1":null,"MiddleName2":null,"MothersMaidenName":null,"Nickname":null,"NoteText":null,"Notes":null,"Occupation":null,"OriginalPatientID":0,"PagerNumber":null,"PersonID":0,"PharmacyName":null,"PharmacyNoteID":0,"PhoneNumber1":null,"PhoneNumber2":null,"Prefix":0,"PrimaryLanguage":0,"PrimaryPhoneNumber":null,"PrimaryPhysID":0,"PrimaryWorkPhone":null,"Race":0,"ReleaseOfInformation":false,"Religion":0,"ResidentialAddress":null,"SSN":null,"SealedFlagID":0,"SecondaryLanguage":0,"StudentStatusID":0,"Suffix":0,"PatientID":19415},{"AccountBalanceCalcMethod":2,"AlternatePatientID":0,"AssignmentOfBenifits":0,"CellPhoneNumber1":null,"CellPhoneNumber2":null,"Citizenship":0,"Credential":0,"DateOfBirth":"\/Date(-249678000000-0500)\/","Deceased":0,"DeceasedDate":"\/Date(-62135578800000-0500)\/","DoesPatientHaveResidentProof":false,"DriversLicenseNumber":null,"DriversLicenseState":0,"EmailAddress1":null,"EmailAddress2":null,"Enabled":false,"Ethnicity":0,"Firstname":"Fred","FullName":"Fred Flintstone","Gender":2,"GuarantorID":0,"IsFinancialRisk":false,"IsPatient":false,"LastName":"Flintstone","LocalName":null,"MaidenName":null,"MaritalStatus":0,"MiddleName1":null,"MiddleName2":null,"MothersMaidenName":null,"Nickname":null,"NoteText":null,"Notes":null,"Occupation":null,"OriginalPatientID":0,"PagerNumber":null,"PersonID":0,"PharmacyName":null,"PharmacyNoteID":0,"PhoneNumber1":null,"PhoneNumber2":null,"Prefix":0,"PrimaryLanguage":0,"PrimaryPhoneNumber":null,"PrimaryPhysID":0,"PrimaryWorkPhone":null,"Race":0,"ReleaseOfInformation":false,"Religion":0,"ResidentialAddress":null,"SSN":null,"SealedFlagID":0,"SecondaryLanguage":0,"StudentStatusID":0,"Suffix":0,"PatientID":19420}]}}
This is my JSON response, how would i sort it. What i tried. I am parsing my JSON response, then taking it an Array OBJ and the tryin to sort. The results are same even after sorting too.
var PatientSearchData = JSON.parse(PatientSearchResponse);
var results = PatientSearchData['PatientSearchResult'];
alert("OLD Result" +results.Patient)
results.Patient.sort(function(a,b){
var nameA = a.Firstname.toLowerCase();
var nameB = b.Firstname.toLowerCase();
if(nameA < nameB)
return -1;
if(nameA > nameB)
return 1
return 0
})
alert("Sorted One" +results.Patient)
Updated Code
function formatData(data){
var output = [];
for(var i=0, len=data.length; i<len; i++){
output.push(data[i].Firstname);
}
return output.join("\n");
}
function RenderPatientSearchData(PatientSearchResponse){
var PatientSearchData = JSON.parse(PatientSearchResponse);
var results = PatientSearchData['PatientSearchResult'];
results.Patient.sort(function(a,b){
var nameA = a.Firstname.toLowerCase();
ar nameB = b.Firstname.toLowerCase();
return nameA < nameB ? -1 : nameA > nameB : 0
})
rowData = [];
var prevHeader = ' ';
for (i = 0, len = results.Patient.length; i < len; i++) {
var PatientFirstName = results.Patient[i].Firstname;
What do i get combining the firstname alone
[INFO] /TiAPI ( 802): 4261 FirstName
[INFO] /TiAPI ( 802): Migration Test
[INFO] /TiAPI ( 802): Bo
[INFO] /TiAPI ( 802): Mark
[INFO] /TiAPI ( 802): Kevin
[INFO] /TiAPI ( 802): Scott
[INFO] /TiAPI ( 802): John
[INFO] /TiAPI ( 802): Dagwood
[INFO] /TiAPI ( 802): Clyde
It works for me, except the part where you try to debug by displaying the raw array inside an alert. Try this instead:
function formatData(data){
var output = [];
for(var i=0, len=data.length; i<len; i++){
output.push(data[i].Firstname);
}
return output.join("\n");
}
[...]
alert("OLD Result:\n" + formatData(results.Patient));
[...]
alert("Sorted One:\n" + formatData(results.Patient));
It may be malformatted JSON?
Your sort function is working.
The result you get to see using results.Patients are something like:
[object Object],[object Object], ...
I suppose?
Try iterating through the results.Patient array before and after, and check the console:
for (var i=0;i<results.Patient.length;i++){
console.log(results.Patient[i].Firstname);
}
Furthermore, your sort function can also be written as:
function(a,b){
var nameA = a.Firstname.toLowerCase();
var nameB = b.Firstname.toLowerCase();
return nameA < nameB ? -1 : nameA > nameB : 0
});
精彩评论