① java : json 过滤不合法字符的工具包工具类工具
json中没有来自带的过滤不合法字符源的工具类,需要用户自己编写。
将源数据中的'、"、\\、空格、换行等都替换成转义符,这样你拼接的json数据就是正常的,显示出来格式和数据库中的一样。
function valueReplace(v) {
if (v.indexOf("\"") != -1) {
v = v.toString().replace(new RegExp('(["\"])', 'g'), "\\\"");
}
else if (v.indexOf("\\") != -1)
v = v.toString().replace(new RegExp("([\\\\])", 'g'), "\\\\");
return v;
}
② 如何处理json中的非法utf8字符
在BB10 Cascades开发环境中可以轻松地通过JsonDataAccess类读写json文件,将json文件中的数据转换成内存对象。回
不过对答于中国开发者来讲有个苦恼,就是通过样例读取json文件时如果json文件中有中文字符,所有中文字符在BB10 Cascades组件中显示时会显示为乱码,就是显示成一个方框。
解决这个问题的方法很简单,就是设置json文件的编码格式,因为BB10 Cascades开发环境使用UTF-8作为缺省编码,所以需要将程序使用的Json文件转成UTF-8格式。
当然,对json文件的编码转换可以使用很多种方式,如使用UltraEdit等工具,不过最方便的是使用BB10 Cascades自带的工具进行转换。
在BB10 Cascades开发环境中右键选择需要处理的json文件,点击“Properties”打开文件属性框,然后在“Text file encording”选择项中选择“Other”,然后选择“UTF-8”。这样就可以将你需要处理的json文件转换成UTF-8格式,在程序中使用时就不会有乱码了。