【问题标题】:Access certain values in data set访问数据集中的某些值
【发布时间】:2020-02-07 04:47:29
【问题描述】:

我有以下数据集,我正在尝试访问其中的某些值。

{
    "id": "0f0126f5-aed3-49bb-97dd-7ad2d00b67a4",
    "retirementData": "{\"benefits\":[{\"availableBenefitOptions\":{\"anniversaryDate\":\"2020-01-21T22:00:00Z\",\"hasPensionBackedHomeLoan\":false,\"retirementAge\":65,\"schemeName\":\"BenCorp Alexander Forbes Retirement Fund Pension Base Fund\",\"schemeNo\":\"199\"},\"contribution\":{\"anniversaryDate\":\"2020-01-21T22:00:00Z\",\"employerContributions\":[5.0,10.0],\"hasEmployerContribution\":true,\"hasMemberContribution\":true,\"hasVoluntaryContribution\":true,\"memberContributions\":[5.0,10.0],\"voluntaryContributions\":[5.0,10.0]},\"investmentStrategy\":{\"defaultOptionId\":0.0,\"hasClarity\":null,\"hasSinglePortfolio\":true,\"isComprehensive\":null,\"isLifestage\":null,\"lifestage\":null,\"portfolioOptionId\":null,\"defaultLabelName\":null},\"qualifyingMembers\":{\"hasContract\":false,\"hasDisabilityClaims\":false,\"isFullTime\":true,\"isOverRetirementAge\":false,\"isPartTime\":false,\"isPermanent\":false,\"isUnderRetirementAge\":false}}],\"fundSalaryOptions\":[5.0,6.0]}",
    "locations": [{
        "id": 78
    }]
}

我特别想访问'defaultOptionId' 的值,但在执行console.log(this.exploreService.corpSettings.retirementData.benefits); 时出现未定义错误

我可以访问高达this.exploreService.corpSettings.retirementData 的值,但除此之外什么都没有。

我必须将响应字符串化才能在此处显示,因为我只会在控制台中看到 [Object, Object]。

【问题讨论】:

    标签: angular


    【解决方案1】:

    需要做的是, 由于retirementData是字符串格式,需要先转换成object 喜欢,

    JSON.parse(this.exploreService.corpSettings.retirementData).benefits
    

    工作示例

    var a = {
        "id": "0f0126f5-aed3-49bb-97dd-7ad2d00b67a4",
        "retirementData": "{\"benefits\":[{\"availableBenefitOptions\":{\"anniversaryDate\":\"2020-01-21T22:00:00Z\",\"hasPensionBackedHomeLoan\":false,\"retirementAge\":65,\"schemeName\":\"BenCorp Alexander Forbes Retirement Fund Pension Base Fund\",\"schemeNo\":\"199\"},\"contribution\":{\"anniversaryDate\":\"2020-01-21T22:00:00Z\",\"employerContributions\":[5.0,10.0],\"hasEmployerContribution\":true,\"hasMemberContribution\":true,\"hasVoluntaryContribution\":true,\"memberContributions\":[5.0,10.0],\"voluntaryContributions\":[5.0,10.0]},\"investmentStrategy\":{\"defaultOptionId\":0.0,\"hasClarity\":null,\"hasSinglePortfolio\":true,\"isComprehensive\":null,\"isLifestage\":null,\"lifestage\":null,\"portfolioOptionId\":null,\"defaultLabelName\":null},\"qualifyingMembers\":{\"hasContract\":false,\"hasDisabilityClaims\":false,\"isFullTime\":true,\"isOverRetirementAge\":false,\"isPartTime\":false,\"isPermanent\":false,\"isUnderRetirementAge\":false}}],\"fundSalaryOptions\":[5.0,6.0]}",
        "locations": [{
            "id": 78
        }]
    }
    
    console.log(JSON.parse(a.retirementData).benefits)

    【讨论】:

    • 天哪,我太复杂了,谢谢您的帮助,先生
    • @skydev 总是很高兴 :)
    猜你喜欢
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    相关资源
    最近更新 更多