现在的位置: 首页 > 综合 > 正文

Excel导入MySql导致提取数据形成Json转义错误的解决

2014年02月17日 ⁄ 综合 ⁄ 共 626字 ⁄ 字号 评论关闭

在做项目的时候,遇到这样一个问题:

系统采用Mysql做数据库,数据内容直接使用用户的Excel导入。

然后采用Jqery通过后台的ashx文件提取Json数据,但是问题出现,出现了获取数据正常,文字显示的内容也正常,就是Json的格式不对(经过跟踪发现进行转义时出现了错误),到底是什么原因导致的呢?

百思不得其解,我尝试了一下用实际字符串代替从数据库中提取

String.Format("""id"":""{0}"",""text"":""{1}""", Rs("编号"), Rs("名称"))

改成:

String.Format("""id"":""{0}"",""text"":""{1}""", “12345”,“测试测试”)

结果竟然顺利通过测试,前台获取的Json一切正常。由此可知问题出在数据库字段的内容上

于是我使用工具将数据库的中的记录导出为sql文件,结果发现几乎每一个字段值中都包含了特殊符号,所以才出现看不到去不合法的问题

INSERT INTO 单位 VALUES ('3', '3004', '白沙中学\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', '查看', '')

INSERT INTO 单位 VALUES ('4', '3330', '半程中学\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', '查看', '');

 

由此可知,在数据转换时一定要注意特殊符号的清理

在进行程序调试时,一个思路不行,快速地换个思路往往可以解决问题。

 

 

 

【上篇】
【下篇】

抱歉!评论已关闭.