json 數(shù)據(jù)交換格式

Json格式的所有內(nèi)容

1)并列的數(shù)據(jù)之間用逗號(", ")分隔
2)映射用冒號(": ")表示
3)并列數(shù)據(jù)的集合(數(shù)組)用方括號("[]")表示
4)映射的集合(對象)用大括號("{}")表示

舉例:"北京市的面積為16800平方公里,常住人口1600萬人。上海市的面積為6400平方公里抗蠢,常住人口1800萬。"
寫成json格式就是這樣:

[
  {"城市":"北京","面積":16800,"人口":1600},
  {"城市":"上海","面積":6400,"人口":1800}
]
1.php程序中json用法

PHP提供json_encode()和json_decode()函數(shù)俯渤,前者用于編碼,后者用于解碼型宝。
1)直接寫json格式并輸出


$json = '[{"name":"sunyan","age":22},{"name":"zhanglan","age":24}]';
$result = json_decode($json);//將json數(shù)據(jù)格式解碼成php數(shù)據(jù)格式并輸出
foreach($result as $key => $value) {
    if($value) {
        echo "<br>$value->name<br>"." $value->age<br>";
    }    
}

輸出結(jié)果

sunyan
22

zhanglan
24

2)一維數(shù)組轉(zhuǎn)換成json格式并輸出

$message['login']='login success';
$json_message=json_encode($message);
echo $json_message;
$a=json_decode($json_message);  
echo $a->login;
{"login":"login success"}
login success

3)二維數(shù)組轉(zhuǎn)換成json格式并輸出

$list['name']="sunyan";
$list['age']=22;
$list_merge[]=$list;
$list['name']="zhanglan";
$list['age']=24;
$list_merge[]=$list;   
$list_json=json_encode($list_merge);
echo $list_json;

輸出結(jié)果

[{"name":"sunyan","age":22},{"name":"sunyan","age":24}]

若想在轉(zhuǎn)變回數(shù)組形式輸出八匠,需將其解碼

$list_j=json_decode($list_json); 

數(shù)組輸出方式一:

foreach($list_j as $key=>$v){
    echo "$key<ul>";        
    echo "<li>$v->name</li>";
    echo "<li>$v->age</li>";    
    echo"</ul>";
}

數(shù)組輸出方式二:

foreach($list_merge as $key=>$list){
    echo "$key<ul>";
    foreach($list as $k=>$v){
        echo "<li>$v</li>";        
    }
    echo"</ul>";
}

輸出結(jié)果

0

    sunyan
    22

1

    sunyan
    24

注意,沒有經(jīng)過編碼趴酣,解碼的數(shù)組只能方式二輸出

2.js程序中json用法

js與服務(wù)器端進(jìn)行交互的時候梨树,發(fā)送與接受數(shù)據(jù)都可以使用json數(shù)據(jù)格式
1)js 與php程序交互
以注冊為例,若用戶名已經(jīng)有人注冊岖寞,網(wǎng)頁會提醒你更換用戶名
php代碼

    function check_name($username){     
        $dbc=connect_mysql();           
        if ($dbc){  
        $q='select * from usermessage where name=?';
        $stmt=mysqli_prepare($dbc,$q);
        mysqli_stmt_bind_param($stmt,'s',$name);
        $name=$username;
        mysqli_stmt_execute($stmt);
        mysqli_stmt_store_result($stmt);                          
        if(mysqli_stmt_affected_rows($stmt)==1){
            $message['check_name']='name exit';
            $json_message=json_encode($message);
            return $json_message;
        }else{
            $message['check_name']='name no exit';
            $json_message=json_encode($message);
            return $json_message;
        } 
        mysqli_stmt_close($stmt);                                                                       
        mysql_close($dbc);     
        }else{
            die('Could not connect: ' . mysql_error());
        }
    }

js代碼

$("#input_name").blur(function(){
            if($("#input_name").val().length<2||$("#input_name").val().length>20){
                $("#span_name_error").text("用戶名長度必須是2-20位");                
            }else{
                name=$("#input_name").val().replace(/\s/g,'');//去掉頭尾空格
                $.ajax({
                        type: "post",
                        dataType: "json",
                        url: "/todolist/register_handle.php?act=check_name",    
                        data: {username:name}, 
                        success: function(json_message){ 
                            var data=(eval(json_message)).check_name;
                            if(data=="name exit"){
                                $("#span_name_error").text("此用戶名已經(jīng)被注冊");                                                        
                            }else if(data=="name no exit"){
                                $("#span_name_error").text("");
                            }                           
                        }   
                    });                                                 
            }   
        });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抡四,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌指巡,老刑警劉巖淑履,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異藻雪,居然都是意外死亡秘噪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門阔涉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捷绒,你說我怎么就攤上這事瑰排。” “怎么了暖侨?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵椭住,是天一觀的道長。 經(jīng)常有香客問我字逗,道長京郑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任葫掉,我火速辦了婚禮些举,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘俭厚。我一直安慰自己户魏,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布挪挤。 她就那樣靜靜地躺著叼丑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪扛门。 梳的紋絲不亂的頭發(fā)上鸠信,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機(jī)與錄音论寨,去河邊找鬼星立。 笑死,一個胖子當(dāng)著我的面吹牛葬凳,可吹牛的內(nèi)容都是我干的贞铣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼沮明,長吁一口氣:“原來是場噩夢啊……” “哼辕坝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起荐健,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤酱畅,失蹤者是張志新(化名)和其女友劉穎琳袄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纺酸,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡窖逗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了餐蔬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碎紊。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖樊诺,靈堂內(nèi)的尸體忽然破棺而出仗考,到底是詐尸還是另有隱情,我是刑警寧澤词爬,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布秃嗜,位于F島的核電站,受9級特大地震影響顿膨,放射性物質(zhì)發(fā)生泄漏锅锨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一恋沃、第九天 我趴在偏房一處隱蔽的房頂上張望必搞。 院中可真熱鬧,春花似錦囊咏、人聲如沸顾画。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽研侣。三九已至,卻和暖如春炮捧,著一層夾襖步出監(jiān)牢的瞬間庶诡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工咆课, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留末誓,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓书蚪,卻偏偏與公主長得像喇澡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子殊校,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容