如何将JSON字符串加载到JSON列中

时间:2017-02-09 21:44:45

标签: mysql json

我有MySQL表,我喜欢填充加载数据infile。

其中一个列是JSON类型,我想要上传整个json字符串。问题是上传json字符串似乎很难,我得到了:

Invalid utf8 character string: '{'

我的CSV文件中的一行:

25621943694,john,johnny,ACTIVE,organization,1234,{\”name\”: \”cicd-prod\”},2016-10-22 16:57:36

我的加载数据声明:

LOAD DATA LOCAL INFILE 'test123.csv'
INTO TABLE projects 
FIELDS TERMINATED BY ',' (project_number,project_id,project_name,lifecycle_state,parent_type,parent_id,raw_project,create_time);

1 个答案:

答案 0 :(得分:1)

在JSON中,根据the ECMA standard,“字符串是一系列用引号括起来的Unicode代码点(U + 0022)。

您的CSV未使用U+0022。它正在使用U+0201D - Right Double Quotation Mark。它甚至没有正确地使用它们,因为我无法用足够的智能引用 - “智能”引用;它使用右侧和左侧的正确引用。

这些报价必须转换回无聊的旧U + 0022 - 引号。而且您需要与生成该CSV的任何人聊天。一个过于热心的Office应用程序也可能会破坏它。