0

gson を使用して tslint 実行の出力を解析しようとしています (おそらく eslint も同様です)。

tslint json 出力は、簡単な配列の配列ではなく、ファイルごとに 1 つの配列のシーケンスです。以下は、1 回の実行の一部です。

[{
"endPosition": {
    "character": 8,
    "line": 122,
    "position": 4277
},
"failure": "file should end with a newline",
...
{
    "endPosition": {
        "character": 118,
        "line": 120,
        "position": 4250
    },
    "failure": "expected parameter: '$templateRequest' to have a typedef",
    "name": "src/client/ts/app.ts",
    "ruleName": "typedef",
    "startPosition": {
        "character": 117,
        "line": 120,
        "position": 4249
    }
}][{
    "endPosition": {
        "character": 1,
        "line": 2,
        "position": 10
    },
    "failure": "space indentation expected",
    "name": "src/client/ts/controller/AboutCtrl.ts",
    "ruleName": "indent",
    "startPosition": {
        "character": 0,
        "line": 2,
        "position": 9
    }
}, ...

問題は、GsonBuilder の fromJson メソッドを使用して結果を解析する Java クラスでこれを表現する方法です。List を実装するクラスを使用すると、1 つのリストが終了し、別のリストが開始するポイントで JsonSyntaxException がスローされます。これはリストのリストではなく、キーと値のペアの一部でもありません。

Gson をもう少し深く掘り下げる必要があるかもしれませんが、正しい方向に進めたいと思います。助けてくれてありがとう。

4

1 に答える 1

1

これは無効なjsonです。同僚が私にこの問題を指摘しました:

GitHub: 複数のファイルで無効な json 出力が生成される #379

于 2016-02-11T20:56:50.690 に答える