2011-05-06 121 views
0
{"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","FullName":"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}]}} 

这是我的JSON响应,我将如何对其进行排序。我试过的。按姓氏排序JSON响应

var data = eval(PatientSearchResponse); 
var results = data['results']; 

PatientSearchResponse.SortByName(results); 

function SortByName(x,y) {  
    return ((x.LastName == y.LastName) ? 0 : ((x.LastName > y.LastName) ? 1 : -1));  
} 

它没有工作。

回答

2

这里有一些问题; results在您提供的JSON响应中不存在,SortByName是当前范围可用的函数,但不是PatientSearchResponse的成员。

想必,你想是这样的:

var data = eval(PatientSearchResponse); // use JSON.parse if available 
var results = data['PatientSearchResult']; 

// Call the `sort` method, passing SortByName as the first argument 
results.Patient.sort(SortByName); 

function SortByName(x,y) {  
    return ((x.LastName == y.LastName) ? 0 : ((x.LastName > y.LastName) ? 1 : -1));  
} 
+0

为什么不使用eval ...使用JSON.parse,以及PatientSearchResult和Patient在我的JSON响应中的含义 – 2011-05-06 11:31:47

+0

@John:PatientSearchResult和Patient只是字段名称前者在您的JSON示例中包含后者。除非您事先执行多项安全检查,否则'eval'对于解析JSON是不安全的。 'JSON.parse'是内置于现代浏览器中的本地解析器,但可能不适用于旧浏览器。 – 2011-05-06 11:34:16

+0

它的工作,现在我应该警惕(PatientSearchResult)或警报(结果) – 2011-05-06 11:37:37

0

我不知道您正在使用的服务器端脚本,如果它的PHP然后

尝试unserialize,这将反序列化JSON对象到一个数组(只有在你的json数据格式正确的情况下)。

然后,您可以使用数组排序功能对数组进行排序。

+1

'unserialize'不解析JSON。 'json_decode'就是这样。 – 2011-05-06 11:59:28