【源码工具】解析带注释的JSON文件工具

在日常配置中,总有一些配置需要写在json里,但是又要展示给别人看,策划一看这东西又是懵逼的,添加注释不能运行,不加注释,策划又看不懂。于是楼主就写了这个读取带注释json的方式。

###提示:本方法是读取string类型的,因为在ccc中带注释的json文件会让软件直接报错,所以在格式上,建议使用txt类型文件。

**展开查看源码** readJson(data:string):any{ if(!data){ cc.warn('没有数据啊:',data); return null } var str = ''; var last = 0; while(true){ var s = data.substring(0,last+1); var c = data.indexOf('//',last); var c1 = data.indexOf('/*',last); var m = 0 if(c>=0){ if(c1>=0){ m = Math.min(c,c1); } else { m = c; } } else if(c1>=0){ m = c1; } else { str+=data.substring(last) break; } if(m == c){ var d = data.indexOf('\n',c+2); str+=data.substring(last,c) last = d+2; } else if(m == c1){ var d = data.indexOf('*/',c1+2); str+=data.substring(last,c1) last = d+2; } } try{ let v = JSON.parse(str); return v; } catch(e){ console.error('json parseerror:',e,str); return null; } }

提示2:单//是可以读取的,但是双//嵌套的读取会出错,例如下(自己有兴趣可以修改好):
{
“version”:“1.0.3”,
“blood”: 0,
/*
/*
“age”: 1,
*/
*/
“mp”:2
}

其实你可以写成 js/ts 档案,
真的需要json时,动态转出来就好

我一开始是写json,后来实在太麻烦
太多东西需要参数化了

主要是有些数据,需要策划去动态配置,然后要能看效果。因为项目不是很大,不可能做个数据测试工具给策划,所以只能把json文件放服务器,让策划自己去改。如果走js的话,比这个麻烦多了。