使用 UTF-8 CSV(英文和中文字符)的子属性创建 JSON 数组的最佳方法是什么?

What's the best way to create a JSON array with sub-properties from UTF-8 CSV (English & Chinese characters)?

我尝试使用 csvtojson 模块创建 GeoJSON 格式的文件,但嵌套根本无法正常工作。谁能给我指明正确的方向,还是我需要编写自己的代码?

> npx csvtojson input.tsv > output.json

input.tsv

properties.labelTc  properties.labelEn  properties.nameTc   properties.nameEn   properties.zoomifyX properties.zoomifyY geometry.coordinates.1  geometry.coordinates.0  properties.urlEn    properties.urlZh    type
皇城  The Imperial Palace City    明故宫 Ming Palace 105513  -1863   32.038  118.815 https://en.wikipedia.org/wiki/Ming_Palace       Feature
天地壇 Altar of Heaven and Earth       Guanghuamen?    105049  -1000   32.058  118.832     https://baike.baidu.com/item/%E5%A4%A9%E5%9D%9B/19964669    Feature

我想要的

{
  "properties": {
    "labelTc": "皇城",
    "labelEn": "The Imperial Palace City",
    ...
  },
  "geometry": {
    "coordinates": [118.815, 32.038]
  },
  "type": "Feature"
}

我得到了什么:

[
  {
    "properties": {
      "labelTc\tproperties": {
        "labelEn\tproperties": {
          "nameTc\tproperties": {
            "nameEn\tproperties": {
              "zoomifyX\tproperties": {
                "zoomifyY\tgeometry": {
                  "coordinates": {
                    "1\tgeometry": {
                      "coordinates": {
                        "0\tproperties": {
                          "urlEn\tproperties": {
                            "urlZh\ttype": "??\tThe Imperial Palace City\t???\tMing Palace\t105513\t-1863\t32.038\t118.815\thttps://en.wikipedia.org/wiki/Ming_Palace\t\tFeature"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },

由于我使用的是 Windows PowerShell,它使用 Latin-1 编码的扩展,默认情况下,我需要 csvtojson 库的标志和 PowerShell 的第二个标志。

npx csvtojson --delimiter=\t input.tsv > output.json -encoding utf8