有没有办法用 json 文件中的数据在 Win7 上使用换行符填充 MySQL 5.7 table?

Is there a way to populate a MySQL 5.7 table with data from a json file with line breaks on Win7?

我有以下示例 json 文件,我正在尝试用它填充 MySQL table。由于 MySQL 5.7 支持 json 作为本机数据类型,我认为这应该不是问题,但是 MySQL 的 json 验证器似乎有换行符问题在文件里面。一旦我去掉所有换行符并在一行中编写我的示例文件,它就可以完美运行。

[
{
    "somestuff": [
        {
            "field1": "val1",
            "field2": 17,
            "field3": 27,
            "field4": 42,
            "field5": 73
        },
        {
            "field1": "val2",
            "field2": 3,
            "field3": 12,
            "field4": 13,
            "field5": 100
        }
    ],
    "field0": "image",
    "path": "some path"
}
]

我知道 json 本身对包含反斜杠的字符串有问题,但即使写任何类型的单词而不是路径,MySQL json 验证器仍然不能完全读取 json 文件并在第一个换行符之前停止。我仍然收到以下错误:

Error Code: 3140. Invalid JSON text: "Invalid value." at position 1 in value (or column) '['. 

使用以下查询时:

-- create test table for json data
CREATE TABLE IF NOT EXISTS jsons_test(
       annotation_id INT AUTO_INCREMENT NOT NULL UNIQUE, 
        json_data json);
LOAD DATA LOCAL INFILE 'C:\some\path\test.json'
INTO table json_test(json_data);

我猜这很可能是因为换行编码导致的,但我仍然不知道是否有任何解决方法可以解决它。

更新: 我自己找到了解决方案... 通过添加 LINES TERMINATED BY '\n',我可以使用 json 数据成功填充 table,并利用 MySQL 新的 json 支持的优势。

我找到了解决问题的方法:请参阅 UPDATE