计算嵌套json子元素中的值,并将其作为新元素添加到原始嵌套json中

雷扎

我有以下json:

click: false
image: "xxxx"
  items: Array(4)
  0:
    click: false
    image: "xxxx/chapter.png"
    items: Array(12)
        0:
         click: true
         courseID: 1
         coverImage:"xxxxx"
         duration: "(2':20)"
         image: "xxxx/chapter.png"
         pdfLinkIos:"xxxxx"
         title: "Motion title"
         videoLink: "xxxx"
        _internalId: "MV6ZgJ_BxxeD"

我想添加一个使用异步函数计算的元素。计算应针对具有“ click:true”的级别执行。我可以成功解析该函数​​,甚至可以正确计算出它。这是我的代码:

       parseValues=(obj)=> {
          for(var k in obj) {
              if(obj[k] instanceof Object) {
                  this.parseValues(obj[k]);
              } else {
                console.log("[coverRnder] all", k, );
                  if(obj["click"]){ 
                    return this.accumulateRating(obj).then(rating => {
                        obj.push(rate: rating);
                    });
                  //obj[k].push("");
                  }
              }
          }              
      };

  async accumulateRating(node) {
     return;
  }

我唯一的问题是我不知道如何将计算的元素添加到原始json的适当级别。(this.state.courseContent)。实际上,我需要accumulateRating在原始json中具有rate标题的输出,如下所示:

  click: false
    image: "xxxx"
      items: Array(4)
      0:
        click: false
        image: "xxx"
        items: Array(12)
            0:
             click: true
             courseID: 1
             coverImage:"xxxxxx"
             duration: "(2':20)"
             image: "xxxx"
             pdfLinkIos:"xxxxxx"
             title: "Motion title"
             videoLink: "xxxx"
            _internalId: "MV6ZgJ_BxxeD"
             rate: 3.5

你能帮我么?

雷蒙德·穆蒂亚巴(Raymond Mutyaba)

push()适用于数组而不是对象。要将键/值对添加到对象,只需定义它即可。

return this.accumulateRating(obj).then(rating => {
    obj.rate = rating;
    //obj["rate"] = rating; also works
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

创建新元素并将其添加到父元素

在ElasticSearch中将新元素推送/添加到嵌套的对象数组中的最佳方法是什么?

如何删除嵌套 Json 数组中的子元素并重命名子元素的 Id 并将其合并到父元素?

使用C#访问深度嵌套的json中的特定属性并将其添加到数组中

将XElement添加到列表中,并将其子元素保留在列表中

隔离嵌套数组中的数组元素,并将其用作 JSON 字段值,并将其兄弟数组元素用作字段值

jQuery:如果存在类,请将其删除,然后将其添加到新元素中

XSLT元素将属性添加到新元素中

计算出现次数并将其添加到 JSON 数组中的分组对象中

如何创建嵌套对象并将其添加到Elasticsearch的嵌套字段中?

将元素添加到深度嵌套的列表中

在python中向嵌套字典中添加新元素

Elasticsearch:将新元素追加到嵌套的对象数组中

在嵌套字典中向内部字典添加新元素

如何计算熊猫数据框中每组的行数并将其添加到原始数据

将新元素添加到现有XML中

将新元素添加到c中的struct数组

将新元素添加到雄辩的收藏中

在Hashmap中搜索list类型的值,检索list的元素并将其添加到新的Collection中以返回

将值添加到Spark DataFrame列中的现有嵌套json中

为什么添加到ArrayList中的新元素会覆盖以前的所有值?

将多个属性添加到嵌套的 JSON 数组中

如何从网页获取JSON对象数组并将每个元素添加到HTML中的行?

如何解构嵌套对象并将其添加到导出函数中?

将值添加到json元素

将嵌套JSON中的值添加到pandas数据框

如何削减bash数组中的最后3个元素并将其添加到数组中

如何使用PHP在已存在的JSON中添加嵌套元素

将元素添加到嵌套向量