现在有点急,json解析问题~

liaoyunt07 2008-12-11 10:37:55
像json这种格式{"eeee":"ttttt","111":"2222",date[{"wwww":"4444"},{"wwww":"6666"}]}
如果key或value 的值里有{}[]:这样的符号
会不会影响解析,如果会,怎么解决,进行转义
...全文
261 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lfywy 2008-12-11
  • 打赏
  • 举报
回复
学习!
RJCHEN1985 2008-12-11
  • 打赏
  • 举报
回复
这是因为js里面\是转义字符,你的数据要怎样用到\呢?
dh20156 2008-12-11
  • 打赏
  • 举报
回复
replace成其他字符,之后再replace回来
liaoyunt07 2008-12-11
  • 打赏
  • 举报
回复
我找到问题所在了~~~

我在value 里面加了1个\或3个\\\或5个\\\\\
解析 就出了问题
不知道有什么好的解析方法
dh20156 2008-12-11
  • 打赏
  • 举报
回复
<script type="text/javascript">

var JSON = function(sJSON){
this.objType = (typeof sJSON);
this.self = [];
(function(s,o){for(var i in o){o.hasOwnProperty(i)&&(s[i]=o[i],s.self[i]=o[i])};})(this,(this.objType=='string')?eval('0,'+sJSON):sJSON);
}
JSON.prototype = {
toString:function(){
return this.getString();
},
valueOf:function(){
return this.getString();
},
getString:function(){
var sA = [];
(function(o){
var oo = null;
sA.push('{');
for(var i in o){
if(o.hasOwnProperty(i) && i!='prototype'){
oo = o[i];
if(oo instanceof Array){
sA.push(i+':[');
for(var b in oo){
if(oo.hasOwnProperty(b) && b!='prototype'){
sA.push(oo[b]+',');
if(typeof oo[b]=='object') arguments.callee(oo[b]);
}
}
sA.push('],');
continue;
}else{
sA.push(i+':'+oo+',');
}
if(typeof oo=='object') arguments.callee(oo);
}
}
sA.push('},');
})(this.self);
return sA.slice(0).join('').replace(/\[object object\],/ig,'').replace(/,\}/g,'}').replace(/,\]/g,']').slice(0,-1);
},
push:function(sName,sValue){
this.self[sName] = sValue;
this[sName] = sValue;
}
}

var strA = '{eeee:"ttttt",111:"2222",date:[{"wwww":"4444"},{"wwww":"6666"}]}';
var objA = new JSON(strA);
alert(objA);
alert(objA.eeee+'\n'+objA['111']+'\n'+objA.date);
alert(objA.date[0].wwww+'\n'+objA.date[1].wwww);
</script>
gywbd2 2008-12-11
  • 打赏
  • 举报
回复
不会影响,{}会被解析为对象,[]会被解析为数组,另外你的这个语句有点问题,应该是{"eeee":"ttttt","111":"2222",date : [{"wwww":"4444"},{"wwww":"6666"}]},date后面掉了一个":"
s_liangchao1s 2008-12-11
  • 打赏
  • 举报
回复
只要你读取属性不用obj.属性 用obj.[属性] 读取键值
zjsfdxbao 2008-12-11
  • 打赏
  • 举报
回复
{}[]:这些都不影响"的范围,所以没影响
mrshelly 2008-12-11
  • 打赏
  • 举报
回复
如果 [ 等符号是在 串用出现,是没有影响的.不必要转义

ep:


<script type="text/javascript" src="http://www.json.org/json.js"></script>

<script type="text/javascript">
var a="test[554";
b={"a":a};

alert(b.toJSONString());

</script>
s_liangchao1s 2008-12-11
  • 打赏
  • 举报
回复

<script language="JavaScript">
<!--
var obj = {"ee:ee":"ttttt","111":"2222"}
alert(obj["ee:ee"])
//-->
</script>
IOSIOSiOS基于百度地图SDK记录运动轨迹,求大神们给个demo! 要使敌人处于绝境,不可以派兵与敌人发生正面交锋,而是逐步的削弱敌人尚存力量,使敌人逐渐变弱。 匿名发表0人评论99人浏览0收藏 1个回答 0 寒凝雪 要使敌人处于绝境,不可以派兵与敌人发生正面交锋,而是逐步的削弱敌人尚存力量,使敌人逐渐变弱。 0人评论发布于2018-08-03 11:17:27 登录后可回答问题,请 登录 或 注册 等你来答 ios 调起地图app导航 demo 目的地名怎么修改如何在eclipse里面应用高德地图demo android开发求一份百度地图的demo Android studio 启动一直提示Fetchin… 高分求取Android下基于百度地图api的实现地图,定… 请问iOS 百度地图轨迹回放--轨迹是有了(一条线),但… 百度地图sdk demo 怎么使用 android开发怎么修改百度地图sdk demo的固定… ios百度地图demo为什么运行不了 百度富文本 UEditor config.json中怎么… 看了该问题的人还看了 常用API接口汇总 Android 百度鹰眼轨迹SDK(v2.1.6) Phab2 Pro体验 & Tango技术简介 Android 百度地图周边雷达(v6.1.3)及覆盖物 解析百度Apollo自动驾驶平台 Android 百度定位SDK(v6.1.3)结合方向传… [android] 百度地图开发 (三).定位当前位置及… 大牛讲堂|SLAM最终话:视觉里程计 基于OpenLayers+rbush实现高德轨迹样式 [android] 百度地图开发 (一).申请AK显示地… 99 浏览 0 收藏

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧