序文
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的题目了,愿望对人人有协助