快捷登录,享 免费下载
首页 > 教程资讯 > 教程详情

JSON编辑器的教程

补充锦囊 完美下载小客服 2021-03-30
文章分享
软件首页

完美者(wmzhe.com)网站以软件下载为基础,改版后的网站对功能性板块进行扩充,以期能够解决用户在软件使用过程中遇见的所有问题。网站新增了“软件百科”、“锦囊妙技”等频道,可以更好地对用户的软件使用全周期进行更加专业地服务。

JSONedit 是一个轻量级和可靠的JSON编辑工具,旨在帮助您编辑JSON文件。应用程序功能直观和干净的界面,与文本和树视图。行号、 语法突出显示和代码折叠是只是一些具有优势的附带了 JSONedit。易于使用、 以及强大的功能使其可行的工具,对 JSON 文件进行编辑。

"锦囊妙技"栏目是聚合全网软件使用的技巧或者软件使用过程中各种问题的解答类文章,栏目设立伊始,小编欢迎各路软件大神朋友们踊跃投稿,在完美者平台分享大家的独门技巧。

本站文章素材来源于网络,大部分文章作者名称佚失,为了更利于用户阅读和使用,根据需要进行了重新排版和部分改编,本站收录文章只是以帮助用户解决实际问题为目的,如有版权问题请联系小编修改或删除,谢谢合作。

JSON编辑器 JSON-handle

JSON编辑器 JSON-handle

软件大小:92.91 KB

高速下载

相关问答

更多
  • 后台传回的Json数据怎么在HTML表单中显示并能动态编辑(添加、删除)

    你前台必须先有一个模板来接受数据,这个模板可以是你自定义的,假设你的数据对象是前台模板为数据操作为

  • JSON 编辑器实现代码

    大家可以输入或者粘贴一些JSON数据来校验是否正确。 按Tab键自动全文缩进格式化。 JSON 编辑器核心代码复制代码 代码如下:<script type="text/javascript"><!-- /* main Object */ JE={ data:{},/* 关联数据 */ code:false,/* 格式化后的代码 */ oldCode:[],/* 历史代码 */ editUI:null,/* 关联编辑框 */ msgUI:null,/* 信息显示窗口 */ treeUI:null,/* 树窗口 */ name:'JE',/* 实例名 */ root:'<b>JSON无忧</b>',/* 根节点标题 */ checkbox:0,/* 是否添加复框 */ hot:null,/* 选中节点 */ indent:' ',/*缩进符'\t'或者4个' '*/ firstUp:true,/*第一次自动刷新*/ onclick:Array,/*树点击通知*/ countInfo:'',/*统计信息*/ formating:false,/* 格式化中(禁止重构树) */ ico:{/* 树图标 */ //文件夹结构线 r0:'img?uuid=20166b3094daba4bc6e18817b8301b093a', r0c:'img?uuid=208018827ed877e31810e838d33e4ac2b0', r1:'img?uuid=2094c793496278bde84be80bb6cb2117f5', r1c:'img?uuid=205f2329c537dcfd32b5f33bf642f76fa6', r2:'img?uuid=20af62be7c197cae64d3e533f7aaf28c25', r2c:'img?uuid=20a005983863e5bc8544cecd8b7f82fcdb', //前缀图片 nl:'img?uuid=20f508bdc9bb8d98f4529e0fa2475b91bb', vl:'img?uuid=20d5de63f4e6927bbb23c377bd1073d26f', //文件结构线 f1:'img?uuid=202ccc639afd44130a3946e9837672479c', f2:'img?uuid=20900ceb0053a2f7bd07a22337c4e4c72c', root:'img?uuid=2069cf3fd1e53a2bb365f771eac65b50a2', //文件夹 arr:'img?uuid=20b7d6e86f4f288ea097c10b1c0d7f4b6b', arrc:'img?uuid=20b7d6e86f4f288ea097c10b1c0d7f4b6b', obj:'img?uuid=20c34d1d5d5a4639061e08165c61a97e63', objc:'img?uuid=20c34d1d5d5a4639061e08165c61a97e63', //文件 arr2:'img?uuid=20327500502b71ed0278a0cc1bf8f8bb41', obj2:'img?uuid=203346cafeedac1fb7628bc886b9b7fb47' }, toTree:function(){/* JSON转换为树HTML,同时格式化代码 */ var draw=[],This=this,ico=this.ico; JE.firstUp=false;/*完成首次自动构造*/ var notify=function(prefix/*前缀HTML*/,lastParent/*父是否是尾节点(确定图标是空白|结构线)*/,name /*节点名*/,value/*节点值*/,formObj/* 父是否是对象(确定子图标) */){/* 构造子节点 */ var rl=prefix==''?ico.r0:lastParent?ico.r1:ico.r2;/* 配置根节点图标 */ if(value&&value.constructor==Array){/* 处理数组节点 */ draw.push('<dl><dt>',This.draw(prefix,rl,ico.arr,name,''),'</dt><dd>');/* 绘制文件夹 */ for (var i=0;i<value.length;i++) notify(prefix+This.img(lastParent?ico.nl:ico.vl),i==value.length-1,i,value[i]); draw.push('</dd></dl>'); }else if(value&&typeof value=='object'){/* 处理对象节点 */ draw.push('<dl><dt>',This.draw(prefix,rl,ico.obj,name,''),'</dt><dd>');/* 绘制文件夹 */ var len=0,i=0; for(var key in value)len++;/* 获取对象成员总数 */ for(var key in value)notify(prefix+This.img(lastParent?ico.nl:ico.vl),++i==len,key,value[key],true); draw.push('</dd></dl>'); }else{/* 处理叶节点(绘制文件) */ draw.push('<dl><dt>',This.draw(prefix,lastParent?ico.f1:ico.f2,formObj?ico.obj2:ico.arr2,name,value),'</dt></dl>'); }; };/* 不是[]或者{}不绘制 */ if(typeof this.data=='object'){notify('',true,this.root,this.data);}; if(this.treeUI)this.treeUI.innerHTML=draw.join('');/* 显示在树窗口 */ this.msg('成功构造树视图!'); }, draw:function(prevfix,line,ico,name,value){/* 子项HTML构造器 */ var cmd=false,J=this.ico,imgName=false; switch (line) {//传递切换图标 case J.r0:imgName='r0';break; case J.r1:imgName='r1';break; case J.r2:imgName='r2'; } if(imgName)cmd=' onclick="'+this.name+'.show(this,\''+imgName+'\')" ';/* 加入折叠命令 */ var type=typeof name=='string'?'(对象成员)':'(数组索引)'; return prevfix+this.img(line,cmd) +(this.checkbox?'<input type="checkbox" onclick="'+this.name+'.select(this)" />':'') +this.img(ico)+' <a href="javascript:void(0)" href="javascript:void(0)" onclick="'+this.name+'.click(this);" ' +'key="'+name+'" val="'+value+'" >' +name+type+(value==''?'':' = ')+value+'</a>' }, img:function(src,attr){/* img HTML构造 */ return '<img src="'+src+'" src="'+src+'" '+(attr||'')+' />'; }, click:function(item){/* 子项点击统一回调 */ if(this.hot)this.hot.className=''; this.hot=item; this.hot.className='hot';/* 切换选中项 */ this.onclick(item); }, format:function(txt,compress/*是否为压缩模式*/){/* 格式化JSON源码(对象转换为JSON文本) */ if(/^\s*$/.test(txt))return this.msg('数据为空,无法格式化! '); try{var data=eval('('+txt+')');} catch(e){ JE.editUI.style.color='red'; return this.msg('数据源语法错误,格式化失败! 错误信息: '+e.description,'err'); }; JE.editUI.style.color='#000'; var draw=[],last=false,This=this,line=compress?'':'\n',nodeCount=0,maxDepth=0; var notify=function(name,value,isLast,indent/*缩进*/,formObj){ nodeCount++;/*节点计数*/ for (var i=0,tab='';i<indent;i++ )tab+=This.indent;/* 缩进HTML */ tab=compress?'':tab;/*压缩模式忽略缩进*/ maxDepth=++indent;/*缩进递增并记录*/ if(value&&value.constructor==Array){/*处理数组*/ draw.push(tab+(formObj?('"'+name+'":'):'')+'['+line);/*缩进'[' 然后换行*/ for (var i=0;i<value.length;i++) notify(i,value[i],i==value.length-1,indent,false); draw.push(tab+']'+(isLast?line:(','+line)));/*缩进']'换行,若非尾元素则添加逗号*/ }else if(value&&typeof value=='object'){/*处理对象*/ draw.push(tab+(formObj?('"'+name+'":'):'')+'{'+line);/*缩进'{' 然后换行*/ var len=0,i=0; for(var key in value)len++; for(var key in value)notify(key,value[key],++i==len,indent,true); draw.push(tab+'}'+(isLast?line:(','+line)));/*缩进'}'换行,若非尾元素则添加逗号*/ }else{ if(typeof value=='string')value='"'+value+'"'; draw.push(tab+(formObj?('"'+name+'":'):'')+value+(isLast?'':',')+line); }; }; var isLast=true,indent=0; notify('',data,isLast,indent,false); this.countInfo='共处理节点<b>'+nodeCount+'</b>个,最大树深为<b>'+maxDepth+'</b>'; return draw.join(''); }, msg:function(text,type){/* 编辑状态或者错误通知 */ if(!this.msgUI)return alert(text); with(new Date)var now=([getHours(),getMinutes(),getSeconds()].join(':')).replace(/\b\d\b/g,'0$&'); this.msgUI.innerHTML='<div>['+now+']   '+text.replace(/\n/g,'<br/>')+'</div>'; this.msgUI.className=type; }, show:function (ico,id){/* 显隐树节点 */ var subView=ico.parentNode.parentNode.childNodes[1].style,J=this.ico; if(subView.display=='none'){ subView.display=''; ico.src=J[id]; }else{ subView.display='none'; ico.src=J[id+'c']; }; }, select:function (sender){ var sub=sender.parentNode.parentNode.getElementsByTagName("INPUT"); for (var i=0;i<sub.length;i++ ) {sub[i].checked=sender.checked;} } }; JE.add=function(){ this.msg('功能添加中...*_^'); } JE.editItem=function(){ this.msg('功能添加中...*_^'); } JE.begin=function(){/* 设置UI控件关联响应 */ var $=function (id){return document.getElementById(id)}; /* 关联UI */ JE.editUI=$("json_eidit"); JE.msgUI=$("json_editInfo"); JE.treeUI=$("tree"); var updateUI=$("update"); var auto=$("autoUpdate"); var fontSize=$("fontSize"); /* 单击树子项 */ JE.onclick=function(item){ var key='键名: <input value="'+item.getAttribute('key')+'" />', val=' 键值: '+(item.getAttribute('val')==''?'成员列表':'<input value="'+item.getAttribute('val')+'" />'), add='<button onclick="'+this.name+'.add(this)">新增</button>', edit='<button onclick="'+this.name+'.editItem(this)">修改</button>'; JE.msg(key+val+add+edit,'info'); } /* 监听代码变化事件 */ JE.editUI.oninput=JE.editUI.onpropertychange=function (){ if(JE.formating)return;/* 格式化不刷新树 */ if(/^\s*$/.test(this.value))return JE.msg('请输入JSON格式的代码!');; clearTimeout(JE.update); try{JE.data=eval('('+this.value+')'); }catch(e){ JE.editUI.style.color='red'; return JE.msg("源代码有错误: "+e.description+' , 如果正在编辑中, 请忽略此消息!','err'); }; JE.editUI.style.color='#000'; if(auto.checked||JE.firstUp){/*若同步*/ JE.msg('语法正确,正在重新构造树,请稍候...','busy'); JE.update=setTimeout(function(){ JE.toTree(); },450); }else{ JE.msg('语法正确,请点击刷新,或者打开视图同步开关,或者继续编辑!') } return true; }; if(window.ActiveXObject) document.execCommand("BackgroundImageCache", false, true); /* 拦截Tab,自动格式化 */ JE.editUI.onkeydown=function (){ if(event.keyCode==9){$('format_indent').onclick();event.returnValue=false;}; JE.code=this.value; } /* 格式化 */ var format=function(compress){ var code=JE.format(JE.editUI.value,compress); JE.formating=true; if(code)JE.editUI.value=code; JE.editUI.focus(); setTimeout(function(){JE.formating=false;},1000); return code; } /* 工具栏按钮 */ $('format_indent').onclick=function (){if(format())JE.msg('完成缩进风格转换,'+JE.countInfo)} $('format_compress').onclick=function (){if(format(true)!=undefined)JE.msg('完成紧凑风格转换,'+JE.countInfo);} updateUI.onclick=function (){ JE.firstUp=true; JE.editUI.onpropertychange()?JE.msg('成功刷新视图!'):JE.msg('数据有误,刷新失败!','err') JE.firstUp=false; }; $('clear_txt').onclick=function (){JE.editUI.value=JE.treeUI.innerHTML='';JE.editUI.focus();} auto.onclick=function (){JE.msg('自动同步视图功能'+(this.checked?'开启':'关闭!'));}; /* 另存为 */ if(/*@cc_on !@*/true){$('save_as').style.display='none'}; $('save_as').onclick=function (){ var d=document,w=d.createElement('IFRAME'); w.style.display="none"; d.body.appendChild(w); setTimeout(function(){ var g=w.contentWindow.document; g.charset = 'utf-8'; g.body.innerHTML=JE.editUI.value; g.execCommand("saveas",'', "json.txt") ; },1); } }; /* 从这里开始 */ window.onload=function (){ JE.begin(); } // --></script>

  • 如何读取cocos studio数据编辑器编辑出来的json文件

    楼主试试这个 cc.loader.getRes("xx.json") // json文件记得预加载 !答题不易,互相帮助,手机提问的朋友在客户端右上角评价点满意即可.如果你认可我的回答,请及时点击采纳为满意回答按钮!