Javascript 如何在Ionic/Angular中访问json对象

Javascript 如何在Ionic/Angular中访问json对象,javascript,angularjs,json,ionic-framework,Javascript,Angularjs,Json,Ionic Framework,我需要访问此json中的firstBill值: [{ "companyName": "Madrid", "producCompanyId": 4, "productCompanyName": "Empresa1", "state": { "id": 5, "description": "Completada sin precios" }, "message": "\nHay otra empresa igual en

我需要访问此json中的
firstBill
值:

[{
    "companyName": "Madrid",
    "producCompanyId": 4,
    "productCompanyName": "Empresa1",
    "state": {
        "id": 5,
        "description": "Completada sin precios"
    },
    "message": "\nHay otra empresa igual en ACTIVO                                              "
}, {
    "companyName": "Barcelona",
    "producCompanyId": 10,
    "productCompanyName": "Empresa2",
    "companyResultId": "889",
    "state": {
        "id": 4,
        "description": "Completada con precios"
    },
    "prices": {
        "priceList": [{
            "priceId": 699614,
            "companyPriceId": "1091931204",
            "firstBill": 281.96,
            "issuable": true
        }, {
            "priceId": 699609,
            "companyPriceId": "1091931204",
            "firstBill": 251.64,
            "issuable": true
        }, {
            "priceId": 699611,
            "companyPriceId": "1091931204",
            "firstBill": 302.6,
            "issuable": true
        }]
    },
    "message": ""
}]
现在我有了这段代码,但由于其他(前面的json)对象中未定义的
prices
jsonarray,因此出现了错误:


{{oferta.companyName}
{{oferta.prices.priceList[0]?oferta.prices.priceList[0]| json}

尝试下面修改的代码。也许这对你有帮助。我添加了带有嵌套div结构的ngIf


{{oferta.companyName}
{{plist | json}
此值为0.ofertas=[{
“公司名称”:“马德里”,
“产品公司ID”:4,
“productCompanyName”:“Empresa1”,
“国家”:{
“id”:5,
“描述”:“完整的原罪”
},
“消息”:“\nHay otra empresa igual en ACTIVO”
}, {
“公司名称”:“巴塞罗那”,
“产品公司ID”:10,
“productCompanyName”:“Empresa2”,
“companyResultId”:“889”,
“国家”:{
“id”:4,
“说明”:“Completada con precios”
},
“价格”:{
“价格表”:[{
“priceId”:699614,
“companyPriceId”:“1091931204”,
“第一法案”:281.96,
“可发行”:真实
}, {
“priceId”:699609,
“companyPriceId”:“1091931204”,
“第一法案”:251.64,
“可发行”:真实
}, {
“priceId”:699611,
“companyPriceId”:“1091931204”,
“第一法案”:302.6,
“可发行”:真实
}]
},
“消息”:”
}]

尝试下面修改的代码。也许这对你有帮助。我添加了带有嵌套div结构的ngIf


{{oferta.companyName}
{{plist | json}
此值为0.ofertas=[{
“公司名称”:“马德里”,
“产品公司ID”:4,
“productCompanyName”:“Empresa1”,
“国家”:{
“id”:5,
“描述”:“完整的原罪”
},
“消息”:“\nHay otra empresa igual en ACTIVO”
}, {
“公司名称”:“巴塞罗那”,
“产品公司ID”:10,
“productCompanyName”:“Empresa2”,
“companyResultId”:“889”,
“国家”:{
“id”:4,
“说明”:“Completada con precios”
},
“价格”:{
“价格表”:[{
“priceId”:699614,
“companyPriceId”:“1091931204”,
“第一法案”:281.96,
“可发行”:真实
}, {
“priceId”:699609,
“companyPriceId”:“1091931204”,
“第一法案”:251.64,
“可发行”:真实
}, {
“priceId”:699611,
“companyPriceId”:“1091931204”,
“第一法案”:302.6,
“可发行”:真实
}]
},
“消息”:”
}]

感觉您的第一个json结构是一个数组,而价格只存在于数组中的第二项中。这些项是对象,但第一个分支是数组:所以,ofera[1].prices.priceList。。。使用jsonblob或任何编辑器,我认为您没有看到正确的json结构,这是您的错误……是的,对不起,oferta[0],您是对的。您能帮我获取“价格表”元素中的第一项吗?它抛出一个未定义的错误oferta.prices.priceList[0]。firstbill如果不需要显示每个oferta.prices.priceList项目的所有oferta.prices.priceList,那么使用
在这里放置另一个*ngFor迭代oferta.prices.priceList,这样您就可以访问所有的firstbill
我不确定他是要访问所有的第一个bill值还是只访问第一个bill值。我写的东西会让你得到你在评论中要求的第一个。。。无论如何,在json blob上粘贴代码,或者看看这类示例,您会发现您的第一个json结构是一个数组,而价格只存在于数组中的第二项中。这些项是对象,但第一个分支是数组:所以,ofera[1].prices.priceList。。。使用jsonblob或任何编辑器,我认为您没有看到正确的json结构,这是您的错误……是的,对不起,oferta[0],您是对的。您能帮我获取“价格表”元素中的第一项吗?它抛出一个未定义的错误oferta.prices.priceList[0]。firstbill如果不需要显示每个oferta.prices.priceList项目的所有oferta.prices.priceList,那么使用
在这里放置另一个*ngFor迭代oferta.prices.priceList,这样您就可以访问所有的firstbill
我不确定他是要访问所有的第一个bill值还是只访问第一个bill值。我写的东西会让你得到你在评论中要求的第一个。。。无论如何,将代码粘贴到json blob上,或者看看这类示例,您就会明白
<ion-content class="home">
  <ion-list>
    <ion-item *ngFor="let oferta of ofertas">
      <h2>{{oferta.companyName}}</h2>
      <pre>{{ oferta.prices.priceList[0] ? oferta.prices.priceList[0] | json }}</pre>
    </ion-item>
  </ion-list>
</ion-content>
 <ion-list>
          <ion-item *ngFor="#oferta of ofertas">
            <h2>{{oferta.companyName}}</h2>
                  <div *ngIf="oferta.prices">
                   <div *ngFor="#plist of oferta.prices.priceList">
                          <pre>{{ plist | json }}</pre>
                  </div>
            </div>
          </ion-item>
       </ion-list>


 this.ofertas = [{
        "companyName": "Madrid",
        "producCompanyId": 4,
        "productCompanyName": "Empresa1",
        "state": {
            "id": 5,
            "description": "Completada sin precios"
          },

          "message": "\nHay otra empresa igual en ACTIVO                                              "
      }, {
          "companyName": "Barcelona",
          "producCompanyId": 10,
          "productCompanyName": "Empresa2",
          "companyResultId": "889",
          "state": {
              "id": 4,
              "description": "Completada con precios"
          },
          "prices": {
              "priceList": [{
                  "priceId": 699614,
                  "companyPriceId": "1091931204",
                  "firstBill": 281.96,
                  "issuable": true
              }, {
                  "priceId": 699609,
                  "companyPriceId": "1091931204",
                  "firstBill": 251.64,
                  "issuable": true
              }, {
                  "priceId": 699611,
                  "companyPriceId": "1091931204",
                  "firstBill": 302.6,
                  "issuable": true
              }]
          },
          "message": ""
      }]