关于json的一些问题

序言
json在不同的开发语言中被越来越多的应用,大多数应用在接口。但是也会有一些问题产生。下面就是我在开发过程中遇到的两个关于json的问题,和大家分享一下。

一、在我们平常遇到的json格式正规的应该是下面这种:


    [{"data":{"hello":"1222"},"type":"12349999","date":"2014-10-30 17:6:9","user":"123","time_stamp":1351587969902}, {"data":{"hello":"world"},"type":"777","date":"2011-10-30 17:12:53","user":"0000","time_stamp":1351588373519}]

但是有的时候我们会遇到不带双引号,例如下面的:

{result:133,total:154,Page:0,list:[{Prdh:"abcde"}]}

在php中用json_decode是无法解析这种不带双引号的,不规则的json格式。那我们只能把不正规变成正规,才能进行解析。利用下面代码就可以将json变成正规格式:

function json_decode_new($str, $m=false) {
  if(preg_match('/\w:/', $str))
    $str = preg_replace('/(\w+):/is', '"$1":', $str);
  return json_decode($str, $m);
}

主要是应用了一个正则表达式。
二、ie7浏览器对于json格式要求比较严格,如果json写的格式不规范就会报错,我遇到的问题是提示提示缺少标识符、字符串或数字。当时我的json格式是这个样写的

var jsonstr={'name':'ceshi','title':'555'}

在我们看来是没有错误的,但是在ie7下面不行,我们必须在最后加上逗号,变成下面这种:

var jsonstr={'name':'ceshi','title':'555',}

以上就是我遇到的两个json的问题了,希望对大家有帮助

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值