當前位置:首頁 » 編程語言 » php定義json

php定義json

發布時間: 2023-04-27 02:01:42

php怎麼接收json類型數據

PHP接收JSON格式的數據
在API服務中,目前流行採用json形式來交互。
給前端調用的介面輸出Json數據,這個比較簡單,只需要組織好數據,用json_encode($array) 轉化一下,前端就得到json格式的數據。
接收前端提交的json數據稍微復雜一點,原因是:PHP默認識別的數據類型是application/x-www.form-urlencoded標準的數據類型。因此,對型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之類的內容無法解析,如果用$_POST數組來接收就會失敗!
此時可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 來獲取提交的數據
查看手冊,可以發現$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的區別:
$_POST:通過 HTTP POST 方法傳遞的變數組成的數組,是自動全局變數。
$GLOBALS['HTTP_RAW_POST_DATA'] :總是產生 $HTTP_RAW_POST_DATA 變數包含有原始的 POST 數據。此變數僅在碰到未識別 MIME 類型的數據時產生。$HTTP_RAW_POST_DATA 對於 enctype="multipart/form-data" 表單數據不可用。也就是說基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一樣的。但是如果post過來的數據不是PHP能夠識別的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,比如 text/xml 或者 soap 等等。
補充說明:PHP默認識別的數據類型是application/x-www.form-urlencoded標準的數據類型。

Ⅱ php解析json數組問題。

<?php
$a=json_decode('{"status":0,"total":1,"size":1,"contents":[{"title":"111","location":[113.11509,23.012777],"city":"u4f5bu5c71u5e02","create_time":1385386545,"geotable_id":38432,"address":"7","province":"u5e7fu4e1cu7701","district":"u7985u57ceu533a","map_id":"1","uid":42504634,"coord_type":3,"type":0,"distance":370,"weight":0}]}');

$b=$a->contents;

echo$b[0]->title;
echo'<br>';
echo$b[0]->location[0];
echo'<br>';
echo$b[0]->location[1];
?>

哎,你這個對象略復雜,我的眼睛都看花了。。。

還有,城市名並沒有加密,只是樓上沒有指定編碼utf-8

城市名是:佛山市

地址是:廣東省佛山市禪城區汾江南路8號

省份是:廣東省

district是:禪城區

Ⅲ 如何向php伺服器發送數據為json的post請求

用curl

$ch = curl_init();
$header[] = "Content-type: text/xml";//定義content-type為xml
curl_setopt($ch, CURLOPT_URL, $url); //定義表單提交侍悉地址
curl_setopt($ch, CURLOPT_POST, 1); //定義提交類型 1:POST ;0:GET
curl_setopt($ch, CURLOPT_HEADER, 1); //兆辯定義是否顯示狀態頭 1:顯示 ; 0:不顯示
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//定義請求類型
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//定義是族談缺否直接輸出返迴流
curl_setopt($ch, CURLOPT_POSTFIELDS, $postStr); //定義提交的數據,這里是XML文件
$res = curl_exec($ch);
curl_close($ch);//關閉

Ⅳ php轉換成json數據格式

json和php數組 格式的互相轉換,參考如下:

$php_json = json_encode($json_arr); //把php數組格式轉換成 json 格式的數據
echo $php_json;
$php_json = json_decode($php_json); //再把json格式的數據轉換成php數組
print_r($php_json);

json數組
$json = '[{"id":"22","name":"33","descn":"44"}]'; //json格式的數組轉換成 php的數組
$arr = (Array)json_decode($json);
echo $arr[0]->id; //用對象的方式訪問

Ⅳ PHP怎麼把多個數組揉成一個json字元串

<?php

//創建數組

$array = array(

"name" => "Hza",

"age" => 21

);

//數組轉化為json格式察咐

echo json_encode($array);

echo "<br />";

//創建類

class Student {

public $name;

public $age;

//初始化是賦值

function __construct($name, $age)

{

$this->name = $name;

$this->age = $age;

}

//魔術方法 把對象轉換成字元串格式 以備使用json_encode()函數

function __tostring() {

//對象轉敗悔純化為json格式

return json_encode($this,JSON_FORCE_OBJECT);

}

}

//實例化對象

$person1 = new Student('Hza', 20);

//輸出json格式

echo $person1;

?>

(5)php定義json擴展閱讀:

json六個構造字元:

begin-array = ws %x5B ws ; [ 左方括弧

begin-object = ws %x7B ws ; { 左大前咐括弧

end-array = ws %x5D ws ; ] 右方括弧

end-object = ws %x7D ws ; } 右大括弧

name-separator = ws %x3A ws ; : 冒號

value-separator = ws %x2C ws ; , 逗號

在這六個構造字元的前或後允許存在無意義的空白符(ws):

ws = *(%x20 /; 空間

%x09 /; 水平標簽

%x0A /; 換行或換行

%x0D); 回程

Ⅵ PHP中用json實現購物車功能,怎麼實現

購物車中至少包含 以下信息:
商品ID,商品名稱,商祥磨廳品價格,購買數量,(其他如果有)
把以上信息組成一個數組,
每購買一件商品,就生成一游橋個這樣的數組,多謹隱個數組組成一個大數組,
然後將這個二維數組轉成JSON格式存入COOKIE即可。在購物車頁面載入時,讀取COOKIE內的這個JSON,然後再轉成數組輸出到頁面即可。
PHP數組轉JSON:json_encode
JSON轉數組:json_decode

Ⅶ php中得json是干什麼用的

json_encode以及json_decode是將一個數組轉換為json文本和將json文本轉換為一個數陪正組。裡面的漢脊頌字會轉成unicode編碼櫻亂鄭

Ⅷ 用php如何將數據(文本和圖片)轉換成json格式

前台:
<form action="跳轉頁面" method="post" enctype="multipart/form-data">
<input type="file" name="fname" />
<input type="submit" value="Submit" />
</form>

input[type=file] 表示:需要上傳的文本或者圖片

後台:
echo json_encode($_POST); // 輸出json 字元串

輸出的內容是上傳到伺服器的文件路徑等相關信息

Ⅸ php怎麼將數組數組轉化為json格式的數據

一、json_encode()

[php]view plain

  • <?php

  • $arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

  • echojson_encode($arr);

  • ?>

  • 輸出

    [php]view plain

  • {"a":1,"b":2,"c":3,"d":4,"e":5}

  • 再看一笑祥個對象轉換的例子:

    [php]view plain

  • $obj->body='anotherpost';

  • $obj->id=21;

  • $obj->approved=true;

  • $obj->favorite_count=1;

  • $obj->status=NULL;

  • echojson_encode($obj);

  • 輸出

    [php]view plain

  • {

  • "body":"anotherpost",

  • "id":21,

  • "approved":true,

  • "favorite_count":1,

  • "status":null

  • }


  • 由於json只接受utf-8編碼的字元,所以json_encode()的參數必須是utf-8編碼,否則會得到空字元或者null。當中文使用GB2312編碼,或者外文使用ISO-8859-1編碼的時候,這一點要特別注意。
  • 二、索引數組和關聯數組

    PHP支持兩種數組,一種是只保存"值"(value)的索引數組(indexed array),另一種是保存"名值對"(name/value)的關聯數組(associative array)。

    由於javascript不支持關聯數組,所以json_encode()只將索引數組(indexed array)轉為數組格式,而將關聯數組(associative array)轉為對象格式。

Ⅹ php+mysql資料庫取數據轉成json格式

PHP取Mysql數據並轉換為json格式,這很簡單
過程分為取數據-保存為數組-json格式輸出三步
取數據分為連接與查詢(條件等),參考下面文章
保存為數組也容易,array_push就行
json格式的輸換最為便捷,只需echo json_encode($myArr);
輸出的就是你要的json格式,就像你圖中的那樣
參考文章:http://snowcoal.com/article/568.html

熱點內容
萬科海上傳奇二期 發布:2024-11-01 14:22:52 瀏覽:59
u盤文件夾是空的 發布:2024-11-01 14:19:57 瀏覽:402
python包含字元串 發布:2024-11-01 14:19:17 瀏覽:479
c語言的精華 發布:2024-11-01 14:19:02 瀏覽:588
steam截圖文件夾 發布:2024-11-01 14:18:59 瀏覽:613
ipad怎麼往安卓傳照片 發布:2024-11-01 14:18:19 瀏覽:508
我的電腦沒有文件夾選項 發布:2024-11-01 14:13:55 瀏覽:546
vb創建資料庫表 發布:2024-11-01 14:11:55 瀏覽:872
sql聯合表 發布:2024-11-01 14:03:25 瀏覽:962
linux編程gcc 發布:2024-11-01 14:02:41 瀏覽:705