cari
Rumahphp教程php手册php输出json格式数据的例子

php直接输出json格式,很多新手有一个误区,以为用echo json_encode($data);这样就是输出json数据了,没错这样输出文本是json格式文本而不是json数据,正确的写法是应该加一句,我们要在利用Content-type:text/json才可以正常显示是json数据.

PHP实例代码如下:

<?php 
header(&#39;Content-type:text/json&#39;);//这句是重点,它告诉接收数据的对象此页面输出的是json数据; 
$json={"n":"name","p":"password"};//虽然这行数据形式上是json格式,如果没有上面那句的话,它是不会被当做json格式的数据被处理的; 
echo $json;   
?>

json_encode当然也可以输入json字符串了,下面看几个例子.

PHP生成JSON的函数是:json_encode($PHPcode);

PHP解析JSON的函数是:json_decode($JSONcode);

所以JSON的形式有多种,不同的形式在PHP解释出来后的形式也是不同的.

形式1:完全是对象的形式,这种形式的数据在Javascript中又叫相关数组,与一般数组不同的是,它可以通过字符串作索引来访问(用"[]"或"."来表示层级),代码如下:

$json=&#39;{"item1":{"item11":{"n":"chenling","m":"llll"},"sex":"www.phprm.com","age":"25"},"item2":{"item21":"ling","sex":"女","age":"24"}}&#39;; 
$J=json_decode($json); 
print_r($J);  
/*将输出: 
stdClass Object 
( 
  [item1] => stdClass Object 
  ( 
   [item11] => stdClass Object 
   ( 
     [n] => chenling 
     [m] => llll 
   ) 
 
   [sex] => www.phprm.com 
   [age] => 25 
  ) 
 
  [item2] => stdClass Object 
  ( 
   [item21] => ling 
   [sex] => 女 
   [age] => 24 
  ) 
)*/

比如说我要取得了值是chenling的那个属性,则应该这样访问:

$J->item1->item11->n;//这将取得属性n的值:chenling

其实这种访问形式跟访问普通的对象属性差不多,也相当于访问一个3维数组.

形式2:对象和数组混合,代码如下:

$json=&#39;{"item1":[{"name":[{"chen":"chenling","ling":"chenli"}],"sex":"男","age":"25"},{"name":"sun","sex":"女","age":"24"}]}&#39;; 
$J=json_decode($json); 
print_r($J);  
/*将输出: 
stdClass Object 
( 
  [item1] => Array 
  ( 
   [0] => stdClass Object 
   ( 
     [name] => Array 
     ( 
       [0] => stdClass Object 
       ( 
         [chen] => chenling 
         [ling] => chenli 
       ) 
 
     ) 
 
     [sex] => 男 
     [age] => 25 
   ) 
 
   [1] => stdClass Object 
   ( 
     [name] => sun 
     [sex] => 女 
     [age] => 24 
   ) 
 
  ) 
 
)*/

比如说我要取得了值是chenling的那个元素,则应该这样访问:

$J->item1[0]->name[0]->chen;//这将取得元素chen的值:chenling

其实这种访问形式结合了对象和数组的访问方式,也相当于访问一个5维数组.

形式3:完全数组形式,代码如下:

$json=&#39;[["item1","item11"],["n","chenling"],["m","llll"]]&#39;; 
$J=json_decode($json); 
print_r($J);  
/*将输出: 
Array 
( 
  [0] => Array 
  ( 
    [0] => item1 
    [1] => item11 
  ) 
 
  [1] => Array 
  ( 
    [0] => n 
    [1] => chenling 
  ) 
 
  [2] => Array 
  ( 
    [0] => m 
    [1] => llll 
  ) 
)*/

比如说我要取得了值是chenling的那个元素,则应该这样访问:

$J[0][1];//这将取得元素值chenling的那个元素

但是用这种方式有一个缺点,就是无法用字符串作为索引,只能用数字,用完全对象的形式可以解决这个问题.其实这种访问形式就是数组的访问方式,相当于访问一个2维数组.

小结:从上面的例子可以看出JSON有点类似XML,也可以在PHP和Javascript之间传递带结构的数据,使用起来很方便.


文章链接:

随便收藏,请保留本文地址!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.