【问题标题】:Save JavaScript object on JSON grunt task在 JSON grunt 任务上保存 JavaScript 对象
【发布时间】:2016-08-10 18:24:23
【问题描述】:

我对这个工具很陌生,所以我试图在任务上使用我能做的一切。现在我正在使用一个插件来阅读带有grunt-gss-to-json插件的Google Drive上的文档,问题不在于阅读,而在于输出。我需要更改保存 json 的方式,因为与我需要读取它的方式不兼容

实际输出: all.json

[
  {
    "text": "ACCEPT",
    "es": "Aceptar",
    "en": "Agreed"
  }
]

需要的输出: es.json

{
 "ACCEPT": "Aceptar"
}

en.json

{
 "ACCEPT": "Agreed"
}

我正在考虑阅读 all.json 并基于它创建其他文件,但我不知道如何在 es.json 和 en.json 文件上编写对象

【问题讨论】:

    标签: javascript gruntjs


    【解决方案1】:

    var all = [{"text": "ACCEPT","es": "Aceptar","en": "Agreed"}]; var en = {} var es = {} all.forEach(function (single) {es[single.text] = single.es; en[single.text] = single.en;});

    这里我们迭代了所有的翻译,并将它们分别分离为 en 和 es

    【讨论】:

      【解决方案2】:

      我不知道我是否真的明白这一点,但也许它会有所帮助:

      var obj = [
            {
              "text": "ACCEPT",
              "es": "Aceptar",
              "en": "Agreed"
            }
          ];
          var newObj = {};
          obj.map(function(item){
            newObj["es"]={};
            newObj["en"]={};
            newObj["es"][item.text] = item.es;
            newObj["en"][item.text] = item.en;
          })
          newObj.es; // returns {"ACCEPT": "Aceptar"}
          newObj.en; // returns {"ACCEPT": "Agreed"}
      

      【讨论】:

      • 问题是标题所说的,我知道如何提取元素,但我不知道如何在繁重的任务中编写它们,或者是否存在仅使用 1 个插件完成相同任务的更好方法(阅读谷歌驱动的文档并正确写入json文件)
      • 不,你可以做一个简单的任务。我相信你要找的是这个gruntjs.com/getting-started#custom-tasks
      猜你喜欢
      • 2020-02-03
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      • 2023-01-28
      • 2015-07-29
      • 1970-01-01
      • 2019-03-26
      • 2013-04-24
      相关资源
      最近更新 更多