0

我有一个遵循这种格式的大文件。最初我尝试使用 JSONStream 在 javascript 中解析它并遇到了一些问题。我一直在试图找出一种方法来更改重复键,以便我可以更轻松地解析它。例如:不是content每个都会附加一个计数器 - content-1, content-2。这是一个非常大的文件,所以我无法手动执行,任何关于如何执行此操作或使用 js 重组的建议将不胜感激!

{
    "Test": {
        "id": 3454534344334554345434,
        "details": {
            "text": "78679786787"
        },
        "content": {
            "text": 567566767656776
        },
        "content": {
            "text": 567566767656776
        },
        "content": {
            "text": 567566767656776
        }
    }
}
4

1 回答 1

1

我知道这是一个Javascript问题,但我知道您需要在系统中加载文件,这是一个大文件。

对于这个问题,如果您能够使用 javascript 之外的另一种语言来解析文件,则可以使用AWK 。AWK可以在linux、windows bash等下执行。

这是代码:

awk 'BEGIN{a=0}/"content"/{a++;gsub("content","content-"a,$0); print $0}!/"content"/{print $0}' file.json
    {
        "Test": {
            "id": 3454534344334554345434,
            "details": {
                "text": "78679786787"
            },
            "content-1": {
            "content-1": {
                "text": 567566767656776
            },
            "content-2": {
            "content-2": {
                "text": 567566767656776
            },
            "content-3": {
            "content-3": {
                "text": 567566767656776
            }
        }
    }
于 2019-10-04T00:51:59.477 回答