无法从NULL读取属性“Patient”

时间:2011-05-06 11:45:35

标签: c# javascript asp.net json parsing

这是我的JSON回复

{
    "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
        }]
    }
}

我试图像这样解析它。

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

function RenderPatientSearchData(PatientSearchResponse){
    var PatientSearchData = JSON.parse(PatientSearchResponse);
    var results = PatientSearchData['PatientSearchResult'];
    results.Patient.sort(SortByName);
    for (i = 0, len = results.PatientSearchResult.Patient.length; i < len; i++) {
        // some code here
    }
    //....
}

当我使用results.PatientSearchResults.Patient.length时,它表示无法从Null识别属性Patient。

3 个答案:

答案 0 :(得分:1)

在我看来,“结果”是存储在“PatientSearchResult”中的任何内容的数组。我想你可以说“len = results.Patient.length”。

答案 1 :(得分:1)

嗯,你在PatientSearchResult的末尾添加了一个“s”作为开头。删除它。

答案 2 :(得分:1)

您已将PatientSearchResult对象分配给“结果”。所以使用:

results.Patient.length

在循环中。