php接收json介面(jsonphp)

本文目錄一覽:

如何用php調用外部介面json數據

一般使用php發送請求,獲取返回的數據,進行解析;

?php

$url=”介面地址”;

//發送請求獲取返回值,file_get_contents只支持get請求,post使用curl

$json = file_get_contents($url);

//把json數據轉化成數組

$data = json_decode($json,true);

//列印看看

print_r($data);

?

php如何接收js傳來的json

感覺樓主對json_decode這個函數有點理解錯誤,這個函數時將一個json格式的字元串轉化成php數組用的,前提是其中的參數必須為字元串

那我們回頭看下樓主的代碼,經過eval以後jsondata變成了一個數組形變數,結構似乎有點奇怪,有5個元素的一個數組,但是每個元素又是一個json對象,而每個json對象又只有一個變數。換句話說如果想獲取createvote這個值,那麼就需要調用jsondata[0].doing

而且,post發送的數據要求是json對象,而樓主這個根本就是不是json…能否發送都是個問題…

樓上那個說$_POST獲取數據的,我試了一下,似乎不行。$_POST[‘doing’]壓根就是個未定義的值

如果要json_decode那就沒必要先eval一下,感覺會弄巧成拙

給樓主一個代碼

js:

var data='{“doing”:”createvote”,”type”:”type”,”num”:”num”,”votetheme”:”votetheme”,”creater”:”loginname”}’;

$.post(url, {data:data}, function(res) {alert(res)});

注意data變數,『與「的位置,不要寫反,反了的話json_decode是不能編譯的

php:

?php

if(isset($_POST[“data”]))var_dump(json_decode($_POST[“data”], true)); 

?

根據返回的格式很明顯就是一個php的array格式

post的參數必須是name-value的格式,如果單純post一個變數,那麼就相當於只有value,沒有name,所以我這裡將post的傳參值寫為{data:data}第一個data是name,第二個data是之前定義的字元串

php怎樣接收整個json數組

PHP接收JSON格式的數據

在API服務中,目前流行採用json形式來交互。

給前端調用的介面輸出Json數據,這個比較簡單,只需要組織好數據,用json_encode($array) 轉化一下,前端就得到json格式的數據。

接收前端提交的json數據稍微複雜一點,原因是:PHP默認識別的數據類型是application/x-標準的數據類型。因此,對型如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-標準的數據類型。

原創文章,作者:ZGCD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/140058.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ZGCD的頭像ZGCD
上一篇 2024-10-04 00:23
下一篇 2024-10-04 00:23

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • JSON的MD5

    在Web開發過程中,JSON(JavaScript Object Notation)是最常用的數據格式之一。MD5(Message-Digest Algorithm 5)是一種常用…

    編程 2025-04-29
  • 使用Java將JSON寫入HDFS

    本篇文章將從以下幾個方面詳細闡述Java將JSON寫入HDFS的方法: 一、HDFS簡介 首先,先來了解一下Hadoop分散式文件系統(HDFS)。HDFS是一個可擴展性高的分散式…

    編程 2025-04-29
  • Java 監控介面返回信息報錯信息怎麼處理

    本文將從多個方面對 Java 監控介面返回信息報錯信息的處理方法進行詳細的闡述,其中包括如何捕獲異常、如何使用日誌輸出錯誤信息、以及如何通過異常處理機制解決報錯問題等等。以下是詳細…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 如何使用Newtonsoft datatable轉Json

    Newtonsoft DataTable 是一個基於.NET的JSON框架,也是一個用於序列化和反序列化JSON的強大工具。 在本文中,我們將學習如何使用Newtonsoft Da…

    編程 2025-04-28
  • Python介面自動化測試

    本文將從如下多個方面對Python編寫介面自動化進行詳細闡述,包括基本介紹、常用工具、測試框架、常見問題及解決方法 一、基本介紹 介面自動化測試是軟體測試中的一種自動化測試方式。通…

    編程 2025-04-27
  • JPRC – 輕鬆創建可讀性強的 JSON API

    本文將介紹一個全新的 JSON API 框架 JPRC,通過該框架,您可以輕鬆創建可讀性強的 JSON API,提高您的項目開發效率和代碼可維護性。接下來將從以下幾個方面對 JPR…

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27

發表回復

登錄後才能評論