更好地将JSON映射到JavaScript中的对象

时间:2017-06-06 15:17:45

标签: javascript json ecmascript-6

我正在使用v4 sheets API中的google-api-nodejs-client,它会返回大量数据。虽然我使用fields参数对其进行过滤,但JSON的结构非常复杂。所以要把它融入我的逻辑中,我就把它弄平了。它需要安全,我不希望抛出任何例外。

这是 UNSAFE 版本代码的外观:

const data = response.sheets[0].data;
const columns = data.map((column) => {
  const rowData = column.rowData;
  const values = rowData[0].values;
  return rowData.map((cellData) => cellData.values[0].userEnteredValue);
});
// ...

如果JSON无效,则异常是不可避免的。我不想要这个。问题是要修复它,我应该添加大量的if - s。这会使代码看起来很难看。

让我们总结一下:有没有办法将JSON安全地映射到本地对象并表达(最好只依赖于 ES6 的功能)?

更新

让我们再添加一些背景信息。这是一个很小的洞察JSON的深度,我需要将它映射到一个字符串数组('1.06'就是其中之一)。

{  
   "sheets":[  
      {  
         "data":[  
            {  
               "rowData":[  
                  {  
                     "values":[  
                        {  
                           "userEnteredValue":{  
                              "stringValue":"1.06"
                           }
                        }
                     ]
                  },
                  ...

0 个答案:

没有答案