php數(shù)據(jù)json php數(shù)據(jù)庫

如何在PHP中返回Json數(shù)據(jù)

概述

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),霸州企業(yè)網(wǎng)站建設(shè),霸州品牌網(wǎng)站建設(shè),網(wǎng)站定制,霸州網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,霸州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

不對(duì)。

返回json用的json_encode()方法沒錯(cuò),但是需要在頭部聲明格式。

代碼解析

php返回需要用json_encode()方法來將需要轉(zhuǎn)換的字符串轉(zhuǎn)換成json編碼格式(注意:僅僅更換文件內(nèi)容,而返回的文件依然為文本格式且編碼為gtk)

所以,這里需要在php頭部聲明

header('Content-Type:text/json;charset=utf-8');

拓展內(nèi)容

json

JSON(JavaScript?Object Notation, JS 對(duì)象簡(jiǎn)譜) 是一種輕量級(jí)的數(shù)據(jù)交換格式。它基于?ECMAScript?(歐洲計(jì)算機(jī)協(xié)會(huì)制定的js規(guī)范)的一個(gè)子集,采用完全獨(dú)立于編程語言的文本格式來存儲(chǔ)和表示數(shù)據(jù)。簡(jiǎn)潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。

json通常被作為配置文件,常見還有.ini

PHP JSON格式數(shù)據(jù)交互實(shí)例代碼詳解

在PHP中解析JSON主要用到j(luò)son_encode和json_decode兩個(gè)PHP

JSON函數(shù),比PHP解析XML方便很多,下面詳細(xì)介紹下PHP

JSON的使用。

JSON基礎(chǔ)介紹

JSON(JavaScript

Object

Notation)

是一種輕量級(jí)的數(shù)據(jù)交換格式。

JSON主要有兩種結(jié)構(gòu):

“名稱/值”對(duì)的集合,在PHP中可以理解為關(guān)聯(lián)數(shù)組

(associative

array)。

值的有序列表(An

ordered

list

of

values)。在PHP中可以理解為普通數(shù)組(array)。

對(duì)象是一個(gè)無序的“‘名稱/值'對(duì)”集合。一個(gè)對(duì)象以“{”(左括號(hào))開始,“}”(右括號(hào))結(jié)束。每個(gè)“名稱”后跟一個(gè)“:”(冒號(hào));“‘名稱/值'

對(duì)”之間使用“,”(逗號(hào))分隔。

數(shù)組是值(value)的有序集合。一個(gè)數(shù)組以“[”(左中括號(hào))開始,“]”(右中括號(hào))結(jié)束。值之間使用“,”(逗號(hào))分隔。值(value)可以是雙引號(hào)括起來的字符串(string)、數(shù)值(number)、true、false、

null、對(duì)象(object)或者數(shù)組(array)。這些結(jié)構(gòu)可以嵌套。

我目前對(duì)JSON的理解更偏向于數(shù)組,類似于PHP中的關(guān)聯(lián)數(shù)組,你可以將PHP數(shù)組轉(zhuǎn)換為JSON格式。

更多JSON的介紹請(qǐng)參考JSON官網(wǎng)和IBM關(guān)于JSON的介紹

PHP

JSON解析實(shí)例

PHP5.2開始已經(jīng)將JSON作為PHP擴(kuò)展的一部分,所以并不需要另外安裝JSON。另外為了保證下面的PHP

JSON實(shí)例不出現(xiàn)中文亂碼,請(qǐng)保證你的編碼格式為UTF8。

JSON是Javascript的一部分,首先我們看下Javascript中如何定義JSON

復(fù)制代碼

代碼如下:

var

json_obj

=

{'WebName':'PHP網(wǎng)站開發(fā)教程網(wǎng)'};

alert(json_obj.WebName);

var

json_arr

=[{'WebName':'PHP網(wǎng)站開發(fā)教程網(wǎng)','WebSite':''},{'ArtTitle':'PHP

JSON實(shí)例講解'}]

alert(json_arr[1].ArtTitle);

var

php_json

=

[['PHP網(wǎng)站開發(fā)教程網(wǎng)',''],['文章標(biāo)題','PHP

JSON實(shí)例講解']];

alert(php_json[1][0]);

在這段JSON實(shí)例代碼中我構(gòu)建了所有的JSON形式,

第1行,定義了JSON以對(duì)象形式存在

第4行,定義了JSON以數(shù)組形式存在,嵌套了JSON對(duì)象,所以有點(diǎn)類似于PHP的關(guān)聯(lián)數(shù)組,其實(shí)仍然是對(duì)象。

第7行,定了JSON以普通數(shù)組形式存在。

注意:由于Javascript是區(qū)分大小寫的,所以訪問JSON關(guān)聯(lián)數(shù)組對(duì)象時(shí)注意key的大小寫問題。

PHP與JSON格式數(shù)據(jù)交互時(shí),第一步需要將PHP數(shù)組轉(zhuǎn)換為JSON格式的數(shù)據(jù),可使用PHP5自帶的json_encode函數(shù),當(dāng)PHP解析傳遞過來的JSON格式數(shù)據(jù)時(shí)需要使用json_decode函數(shù)進(jìn)行解析轉(zhuǎn)換為PHP數(shù)組,PHP轉(zhuǎn)換并解析JSON數(shù)據(jù)的實(shí)例代碼如下

復(fù)制代碼

代碼如下:

?php

$json_arr

=

array('WebName'='PHP網(wǎng)站開發(fā)教程網(wǎng)','WebSite'='');

$php_json

=

json_encode($json_arr);

echo

$php_json;

$php_json

=

json_decode($php_json);

print_r($php_json);

?

說明:這里通過PHP定義了關(guān)聯(lián)數(shù)組,然后通過json_encode轉(zhuǎn)換為JSON格式的數(shù)據(jù),通過echo語句可以看到轉(zhuǎn)換后的JSON對(duì)象,通過PHP

JSON解析函數(shù)json_decode可以將JSON格式的數(shù)據(jù)解析為PHP的關(guān)聯(lián)數(shù)組。如果編碼不正確,JSON中文會(huì)出現(xiàn)亂碼。如果你使用Editplus調(diào)試PHP,請(qǐng)注意保存文件時(shí)編碼將ANSI改為UTF8。

最后我們來看下完整的PHP

JSON交互實(shí)例

復(fù)制代碼

代碼如下:

?php

$json_arr

=

array('WebName'='PHP網(wǎng)站開發(fā)教程網(wǎng)','WebSite'='');

$php_json

=

json_encode($json_arr);

?

script

type="text/javascript"

var

php_json

=

?=$php_json?;

/script

script

type="text/javascript"

function

php_json_dis(php_json)

{

alert(php_json.WebName);

alert(php_json.WebSite);

}

php_json_dis(php_json);

/script

至此,PHP通過json_encode和json_decode函數(shù)對(duì)JSON格式數(shù)據(jù)進(jìn)行轉(zhuǎn)換和解析的實(shí)例就介紹完了。

PHP json數(shù)據(jù)寫入到j(luò)son文件,讀取json文件

// 生成一個(gè)PHP數(shù)組

$data = array();

$data['name'] = 'admin';

$data['pwd'] = '123456';

// 把PHP數(shù)組轉(zhuǎn)成JSON字符串

$json_string = json_encode($data);

// 寫入文件

file_put_contents('user.json', $json_string);

// 從文件中讀取數(shù)據(jù)到PHP變量

$json_string = file_get_contents('user.json');

// 把JSON字符串轉(zhuǎn)成PHP數(shù)組

$data = json_decode($json_string, true);

// 顯示出來看看

var_dump($data)

php如何獲取json中數(shù)據(jù)

可以用$obj=key 的方式直接讀取 ?也可以先轉(zhuǎn)換為數(shù)組 ?用遍歷數(shù)組的方法讀取

?php

$json?=?'{"a":100,"b":200,"c":300,"d":400,"e":500}';

//首先將json字符串轉(zhuǎn)換成關(guān)聯(lián)數(shù)組

$arr=json_decode($json,?true);?

//然后循環(huán)讀取數(shù)據(jù)

foreach($arr?as?$item){

echo?$item;

echo?"br/";

}

?

運(yùn)行結(jié)果:

100

200

300

400

500

php提取json數(shù)據(jù)

$dataJson = "數(shù)據(jù)"; // 提供數(shù)據(jù)

$data = json_decode($dataJson); // 數(shù)據(jù)按json解析成php數(shù)組

$minuteArr = $data['minute']; // 從數(shù)組中獲取minute數(shù)據(jù)

此時(shí)$minuteArr中存放的就是你要的數(shù)據(jù),但數(shù)組下標(biāo)(鍵)是從0開始,如需要從1開始,則遍歷$minuteArr修改下標(biāo)(鍵) 或 使用php數(shù)組函數(shù)進(jìn)行快速重構(gòu)。

注:你這問題是還沒入門的初學(xué)者問的問題,建議還是多看看書!...

文章名稱:php數(shù)據(jù)json php數(shù)據(jù)庫
文章鏈接:http://muchs.cn/article18/docdjgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、定制開發(fā)、用戶體驗(yàn)、網(wǎng)站設(shè)計(jì)、、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)