2016-09-05 19 views
0

私はmongodbからJSONデータを解析しようとしています。 私は内側のjsonオブジェクトアクティビティ - 心臓heartRateZonesをhtmlテーブルにアクセスする必要があります。EJS JSON内でJSON配列を解析するオブジェクト

JSONデータ

{ 
    "_id":{ }, 
    "refreshToken":"dba7449db19d20ce77f5a247ef2d9ac06e3387464c011b0424db1064bcfce503", 
    "profile":{ 
     "provider":"fitbit", 
     "_json":{ 
     "activities-heart":[ 
      { 
       "customHeartRateZones":[ ], 
       "dateTime":"today", 
       "heartRateZones":[ 
        { 
        "caloriesOut":2.80434, 
        "max":84, 
        "min":30, 
        "minutes":2, 
        "name":"Out of Range" 
        }, 
        { 
        "caloriesOut":0, 
        "max":118, 
        "min":84, 
        "minutes":0, 
        "name":"Fat Burn" 
        }, 
        { 
        "caloriesOut":0, 
        "max":143, 
        "min":118, 
        "minutes":0, 
        "name":"Cardio" 
        }, 
        { 
        "caloriesOut":0, 
        "max":220, 
        "min":143, 
        "minutes":0, 
        "name":"Peak" 
        } 
       ], 
       "value":"61.86" 
      } 
     ], 

<% for(var i=0; i<quotes.length; i++) {%> 
    <li class="quotes"> 
     <span><%= quotes[i].profile._json.activities-heart %></span> 

    </li> 

JSONオブジェクトを解析するためのJavaScript私はEJSに初心者です。 「心が定義されていません」というエラーが表示されます。

+0

あなたのスニペットは 'quotes'が配列であるという証拠を提供しません。あなたを助けることをより困難にします。 'activities-heart'は配列なので、後で数字を入れたいのですが '引用符[i]' – WouldBeNerd

答えて

0

JSがactivities minus heartとしてactivities-heart扱いますので、それはそれはどのheart変数を参照していないため心がに定義されていない示し(心配ないが、すべてはあなたの体で結構です)。これを試してください:

<span><%= 
    var datetime = quotes[i].profile._json['activities-heart'].dateTime; 
    var cardioZone = quotes[i].profile._json['activities-heart'].heartRateZones[2]; 
    var cardioMinHR = cardioZone.min; 
%></span> 
+0

どうもありがとうございますが、どのようにしてアクティビティのオブジェクトにアクセスできますか(heartRateZone、datetime、max 、分など) –

+0

編集済み、これをチェックしてください – Damiano

関連する問題