EJS解析JSON对象中的JSON数组

EJS Parsing JSON Array within JSON Object

本文关键字:JSON 数组 对象 解析 EJS      更新时间:2023-09-26

请帮助我,我正试图从mongodb解析json数据。我需要访问内部json对象activities-heart hearttratezones 到html表。

<<p> Json数据/strong>
{
   "_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解析json对象

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

我是一个初学者。我得到"心脏未定义"错误

JS将activities-heart视为activities minus 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>