PHP6 先修班 JSON实例代码_PHP教程
它是基於JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集
JSON 主要利用了成對的 {} 來包住各個object(物件),用成對的 [] 來包各個array(陣列),
用成對的 "" 來包住各字串,用逗號來區隔各變數而資料型態有 string, number, array, object
下面簡單的JSON格式,敘述了一個 object json 擁有一個成員變數,這個成員變數中有含有三個物件
复制内容到剪贴板代码:
var json = {
'query' : [
{'id':'1','type':'a','title':'PHP 5.2.0 的新功能 JSON decoder & encoder'},
{'id':'2','type':'b','title':'JSON 全稱 JavaScript Object Notation'},
{'array': ['A', 'B','C', 'D', 'E']}
]
};
如此,我們可以獲得一個叫做 json 的Object,而這個json Object中包含一個獨立的成員 query
而query包含一個Array ,這個Array中又含了三個Object,前面二個Object含有三個成員
id,type,title,而最後一個Object array 包含一個陣列,如此解釋還明白吧?
但是要怎麼用呢?
很簡單
alert('I have ' +json.query.length + ' object.');
//alert I have 3 object.
alert('type='+json.query[1].type+'\r\ntitle'+json.query[1].title);
//alert type=b title=JSON 全稱 JavaScript Object Notation
alert('陣列索引3='+json.query[2].array[3]);
//alert 陣列索引3=D
這樣操作資料時更簡便,不需要和複雜的DOM打交道,所需要的資料可以很輕鬆的取得
例如上面的例子 json.query[ i ].title 如此就可以取得第i筆的title內含的值
PHP的發展是很迅速,當程式界對JSON還一知半解時或者全然不知何為JSON時
PHP已經在最新的版本5.2.0中納入核心,並且預設狀態是啟用,相較於其他的Script語言
PHP可謂一馬當先,在5.2.0版本中為JSON實作了兩個函數 json_decode() 和 json_encode()
前者是將JSON格式的字串還原成PHP原生的陣列
後者則是將PHP原生陣列編譯成JSON格式的字串
不過,由於Javascript支援Unicode,如果在存取資料庫時使用非Ascii的字元,如中、日、韓
需要將字元編碼轉換成UTF8,不然經過json_encode()後的字串會是亂碼
========================================================
經過上一篇簡單介紹JOSN後
本篇就來實作如何使用JOSN
下面範例使用需要使用MySQL4.1以上版本
編碼全程採用utf8
承接上一篇的資料格式,表中共有三個欄位id,type,title
資料表規格如下
复制内容到剪贴板代码:
CREATE TABLE `news` (
`id` int(10) unsigned NOT NULL auto_increment,
`type` varchar(255) NOT NULL default '',
`title` varchar(64) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
复制内容到剪贴板代码:
//建立連線
$conn = mysqli_connect("localhost", 'root', '')or die('連不上資料庫');
//選擇資料庫
mysqli_select_db($conn,'mydata') or die('不能選資料庫');
//設定連線編碼規則,不懂上google找
mysqli_query($conn,'SET NAMES 'utf8'');
//取出資料
$results = mysqli_query($conn,'SELECT id,type,title FROM news');
//Josn字串
$json = '';
//因為是範例,所以自行控制迴圈
$i=0;
while($row = mysqli_fetch_assoc($results))
{
$i++;
$json .= json_encode($row);
//資料表中只放三筆資料,所以在第三筆時不需要在尾巴加上 ",",記得,最後一筆資料不用加上","
if ($i{
$json .= ",";
}
}
//將資料包進陣列中
$json = '{"query":[ '.$json.']}';?>
還原Json
//將字串解碼
$s_JSON_Decoded = json_decode($json,true);
//取回資料
foreach ($s_JSON_Decoded as $row)
{
foreach ($row as $rowa)
{
echo $rowa['title']."
";
}
}
?>
經過簡單的演練後
相信大家對JSON這玩意有更深一層的瞭解
當然JSON的應用不只是範例中那麼簡單
有興趣一起研究吧

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

System76 最近以其Cosmic 桌面環境引起了轟動,該環境計劃於8 月8 日與Pop!_OS 的下一個主要alpha 版本一起發布。 Cosmic DE開發商

身為一名程式設計師,對於能夠簡化程式設計體驗的工具,我感到非常興奮。借助人工智慧工具的幫助,我們可以產生演示程式碼,並根據需求進行必要的修改。在VisualStudioCode中新引入的Copilot工具讓我們能夠創建具有自然語言聊天互動的AI生成程式碼。透過解釋功能,我們可以更好地理解現有程式碼的含義。如何使用Copilot產生程式碼?要開始,我們首先需要取得最新的PowerPlatformTools擴充。要實現這一點,你需要進入擴充頁面,搜尋“PowerPlatformTool”,然後點擊Install按鈕

PHP數組轉JSON的效能最佳化方法包括:使用JSON擴充和json_encode()函數;新增JSON_UNESCAPED_UNICODE選項以避免字元轉義;使用緩衝區提高循環編碼效能;快取JSON編碼結果;考慮使用第三方JSON編碼庫。

Jackson庫中的註解可控制JSON序列化和反序列化:序列化:@JsonIgnore:忽略屬性@JsonProperty:指定名稱@JsonGetter:使用獲取方法@JsonSetter:使用設定方法反序列化:@JsonIgnoreProperties:忽略屬性@ JsonProperty:指定名稱@JsonCreator:使用建構子@JsonDeserialize:自訂邏輯

在Linux作業系統中處理檔案需要使用各種命令和技術,使開發人員能夠有效率地建立和執行檔案、程式碼、程式、腳本和其他東西。在Linux環境中,擴展名為”.a”的檔案作為靜態庫具有重要的重要性。這些程式庫在軟體開發中發揮重要作用,允許開發人員有效地管理和共享多個程式的公共功能。對於Linux環境中的有效軟體開發,了解如何建立和運行「.a」檔案至關重要。本文將介紹如何全面安裝和設定Linux「.a」文件,讓我們一起探索Linux「.a」文件的定義、用途、結構,以及建立和執行它的方法。什麼是L

深入了解PHP:JSONUnicode轉中文的實作方法在開發中,我們經常會遇到需要處理JSON資料的情況,而JSON中的Unicode編碼在一些場景下會為我們帶來一些問題,特別是當需要將Unicode編碼轉換為中文字元時。在PHP中,有一些方法可以幫助我們實現這個轉換過程,以下將介紹常用的方法,並提供具體的程式碼範例。首先,讓我們先來了解一下JSON中Un

自2023年3月14日開始,ChatGLM-6B以來,GLM系列模型受到了廣泛的關注與認可。特別是在ChatGLM3-6B開源之後,開發者對智譜AI推出的第四代模型充滿了期待。而這項期待,隨著GLM-4-9B的發布,終於得到了充分的滿足。 GLM-4-9B的誕生為了賦予小模型(10B及以下)更加強大的能力,GLM技術團隊經過近半年的探索,推出了這款全新的第四代GLM系列開源模型:GLM-4-9B。這一模型在確保精度的同時,大幅度壓縮了模型大小,具有更快的推理速度和更高的效率。 GLM技術團隊的探索沒

大模型顛覆一切,終於還是顛覆了本小編頭上。還是一句話就被打造出來的Agent。像這樣,丟給Ta一篇文章,不到1秒,標題建議就新鮮出爐了。這效率,比起本人類,只能說是一個快如閃電一個慢如樹懶吧…更難頂的是,創造這個Agent,真的就是幾分鐘的事。 Prompt是醬嬸的:而且,如果你也想體驗這種顛覆一切的feel,現在,基於這個百度剛剛上新的文心智能體平台,人人都能免費打造屬於自己的智能助手。可以利用搜尋引擎、智慧硬體平台、語音辨識、地圖、汽車等百度行動生態管道,讓更多人運用上你的創意!李彥宏本人
