而使用php檢索json對象(php獲取json中的內容)

本文目錄一覽:

php如何接收js傳來的json對象

你無法傳json對象到服務端交互的,要傳的只是一個字符串(Json),是個字符串!

你發的代碼里是json的解析,沒有多大意義,你在php頁面這樣調試

var_dump($_REQUEST);//輸出所有數據,如果存在的話,你會看到那個參數是啥

另外,json格式,主要方便javascript解析的,而不是php擅長的內容,多數情況下,是PHP返回json數據給js.

php的數組操作函數有主要的兩個json_encode()與json_decode();

從你的代碼中,我不確定你用何種方式通信,ajax?

我看你用到了jQuery,那裡面有個ajax,方式類似這樣的:

$.ajax({

type: “post”,       //method;can be get with post or request

url: “/mySever.php”,//php url

error: function(){alert(‘Error’);},

data: {

data1:   name,

data2:   age,

}, 

datatype:”json”,//json back

timeout: 5000,

success: function(msg)

{

//eval(msg);//parase here

}

});

return false;

}

php如何返回json對象呢

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

代碼解析

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

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

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

拓展內容

json

JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規範)的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率。

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

如何在PHP中解析json

目前,JSON已經成為最流行的數據交換格式之一,各大網站的API幾乎都支持它。

從5.2版本開始,PHP原生提供json_encode()和json_decode()函數,前者用於編碼,後者用於解碼。

一、json_encode()

該函數主要用來將數組和對象,轉換為json格式。先看一個數組轉換的例子:

$arr = array (‘a’=1,’b’=2,’c’=3,’d’=4,’e’=5);

echo json_encode($arr);

結果為

{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}

由於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)轉為對象格式。

比如,現在有一個索引數組

$arr = Array(‘one’, ‘two’, ‘three’);

echo json_encode($arr);

結果為:

[“one”,”two”,”three”]

三、類(class)的轉換

下面是一個PHP的類: class Foo { const ERROR_CODE = ‘404’; public $public_ex = ‘this is public’; private $private_ex = ‘this is private!’; protected $protected_ex = ‘this should be protected’; public function getErrorCode() { return self::ERROR_CODE; } }

現在,對這個類的實例進行json轉換:

$foo = new Foo;

$foo_json = json_encode($foo);

echo $foo_json;

輸出結果是

{“public_ex”:”this is public”}

可以看到,除了公開變量(public),其他東西(常量、私有變量、方法等等)都遺失了。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/307154.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-02 18:06
下一篇 2025-01-02 18:06

相關推薦

  • PHP和Python哪個好找工作?

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

    編程 2025-04-29
  • Python七年級內容用法介紹

    本文將從多個方面對Python七年級內容進行詳細闡述。 一、安裝Python 要使用Python進行編程,首先需要在計算機上安裝Python。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
  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

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

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

    編程 2025-04-28
  • Python獲取Flutter上內容的方法及操作

    本文將從以下幾個方面介紹Python如何獲取Flutter上的內容: 一、獲取Flutter應用數據 使用Flutter提供的Platform Channel API可以很容易地獲…

    編程 2025-04-28
  • Python少兒編程的學習內容

    Python被譽為是最適合新手入門的編程語言之一,它簡潔易懂,同時涵蓋了廣泛的編程知識。Python的少兒編程課程也因其易學性和實用性越來越受到家長和孩子們的歡迎。接下來我們將從多…

    編程 2025-04-28
  • Mapster:一個高性能的對象映射庫

    本文將深入介紹furion.extras.objectmapper.mapster,一個高性能的對象映射庫,解釋它是如何工作的以及如何在你的項目中使用它。 一、輕鬆地實現對象之間的…

    編程 2025-04-28

發表回復

登錄後才能評論