溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Zend Framework如何處理Json數(shù)據(jù)

發(fā)布時間:2021-09-01 14:13:49 來源:億速云 閱讀:137 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)Zend Framework如何處理Json數(shù)據(jù),小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

具體如下:

JSON分隔符及意義

{}    用于實(shí)現(xiàn)對象的包含,對象都包含在大括號中
,    逗號用于分隔對象的不同屬性,或者數(shù)組的元素
[]    用于存放數(shù)組,數(shù)組將存放在中括號中
:    用于表示鍵/值對的值,冒號前為鍵,冒號后為該鍵的值

JSON示例

{
  "addressbook":{
    "name":"Mary Lebow",
    "address":{
      "street":"5 Main Street",
      "city":"San Diego,CA",
      "zip":91912
    },
    "phoneNumbers":[
      "619 332-3452",
      "664 223-4667"
    ]
  }
}

使用JSON

語法:$json = Zend_Json::encode($phpNative);
說明:其中,參數(shù)$phpNative為PHP常見的數(shù)據(jù)類型,可以是數(shù)組、對象或者其他類型的數(shù)據(jù)。
函數(shù)返回值$json為符合JSON格式的一個字符串。

示例:

<?php
require_once("Zend/Json.php");
$temp = array(
  "a"=>0,
  "b"=>1,
  "c"=>array(
    "c-1"=>21,
    "c-2"=>22,
    "c-3"=>23,
  ),
  "d"=>3
);
$json = Zend_Json::encode($temp);
echo "臨時數(shù)組內(nèi)容為:";
echo "<pre>";
print_r($temp);
echo "</pre>";
echo "轉(zhuǎn)換為JSON格式內(nèi)容為:";
echo "<pre>";
print_r($json);
echo "</pre>";

結(jié)果為:

臨時數(shù)組內(nèi)容為:

Array
(
  [a] => 0
  [b] => 1
  [c] => Array
    (
      [c-1] => 21
      [c-2] => 22
      [c-3] => 23
    )
  [d] => 3
)

轉(zhuǎn)換為JSON格式內(nèi)容為:

{"a":0,"b":1,"c":{"c-1":21,"c-2":22,"c-3":23},"d":3}

將JSON解碼為普通數(shù)據(jù)

語法:$phpNative = Zend_Json::decode($json);

示例:

<?php
require_once("Zend/Json.php");
$json = "{
  \"addressbook\":{
    \"name\":\"zhangsan\",
    \"address\":{
      \"street\":\"Chang an jie\",
      \"city\":\"BeiJing\",
      \"zip\":100001
    },
    \"phoneNumbers\":[
      \"010-12345678\",
      \"010-11111111\"
    ]
  }
}";
echo "解碼前為:";
echo "<pre>";
print_r($json);
echo "</pre>";
$native = Zend_Json::decode($json);
echo "解碼后為:";
echo "<pre>";
print_r($native);
echo "</pre>";

輸出結(jié)果為:

解碼前為:
{
  "addressbook":{
    "name":"zhangsan",
    "address":{
      "street":"Chang an jie",
      "city":"BeiJing",
      "zip":100001
    },
    "phoneNumbers":[
      "010-12345678",
      "010-11111111"
    ]
  }
}
解碼后為:
Array
(
  [addressbook] => Array
    (
      [name] => zhangsan
      [address] => Array
        (
          [street] => Chang an jie
          [city] => BeiJing
          [zip] => 100001
        )
      [phoneNumbers] => Array
        (
          [0] => 010-12345678
          [1] => 010-11111111
        )
    )
)

說明:

在使用此方法對JSON內(nèi)容進(jìn)行解碼時,可以將其解碼為數(shù)組,也可以將其解碼為對象。

具體有Zend_Json::decode()方法的第二個參數(shù)決定。

語法格式如下

phpNative=ZendJson::decode(phpNative=ZendJson::decode(json,Zend_Json::TYPE_OBJECT);

上個例子解碼為對象后的結(jié)果為

解碼后為:

stdClass Object
(
  [addressbook] => stdClass Object
    (
      [name] => zhangsan
      [address] => stdClass Object
        (
          [street] => Chang an jie
          [city] => BeiJing
          [zip] => 100001
        )
      [phoneNumbers] => Array
        (
          [0] => 010-12345678
          [1] => 010-11111111
        )
    )
)

關(guān)于“Zend Framework如何處理Json數(shù)據(jù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI