序言
json在不一樣的開發語言中被愈來愈多的應用,大多數應用在接口。可是也會有一些問題產生。下面就是我在開發過程當中遇到的兩個關於json的問題,和你們分享一下。php
1、在咱們日常遇到的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}]
可是有的時候咱們會遇到不帶雙引號,例以下面的:json
{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); }
主要是應用了一個正則表達式。
2、ie7瀏覽器對於json格式要求比較嚴格,若是json寫的格式不規範就會報錯,我遇到的問題是提示提示缺乏標識符、字符串或數字。當時個人json格式是這個樣寫的code
var jsonstr={'name':'ceshi','title':'555'}
在咱們看來是沒有錯誤的,可是在ie7下面不行,咱們必須在最後加上逗號,變成下面這種:接口
var jsonstr={'name':'ceshi','title':'555',}
以上就是我遇到的兩個json的問題了,但願對你們有幫助開發