简体   繁体   English

EJS解析JSON对象中的JSON数组

[英]EJS Parsing JSON Array within JSON Object

Please help me, I'm trying to parse json data from mongodb. 请帮助我,我正在尝试从mongodb解析json数据。 I need to access the inner json object activities-heart and heartRateZones to html table. 我需要将内部json对象activity-heartheartRateZones访问到html表。

Json data 杰森数据

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

javaScript for parsing json object 用于解析json对象的javaScript

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

    </li>

I am a beginner to the ejs. 我是ejs的初学者。 I'm getting "heart is not defined" error. 我收到“心脏未定义”错误。

JS treats activities-heart as activities minus heart , so it shows heart is not defined because it doesn't see any heart variable (no worries, everything is fine with your body). JS将activities-heart视为activities minus heart ,因此它表明未定义 activities minus heart ,因为它看不到任何heart变量(不用担心,您的身体一切都很好)。 Try this: 尝试这个:

<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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM