phpjson數組解析,循環json數組的值

本文目錄一覽:

如何在PHP中解析json

PHP裏面有json_encode(數組)可以把數組給轉換成JSON字符串,

而json_decode(JSON字符串,boolean)可以把JSON字符串轉換成數組或者對象類型,第二個參數boolean默認為false表示對象類型,true表示解析為數組類型通過下表訪問

怎麼解析從PHP傳過來的JSON數據?

js解析處理JSON格式的數據,有多種方法.

(1)現在大多標準瀏覽器,都帶有對JSON的支持,可以直接通過js調用處理:

var obj=JSON.parse(str);//str是php傳來的json數據

(2)使用了jquery等js庫,一般都會提供對json的支持,比如使用jQuery:

var obj=jQuery.parseJSON(str);//str是php傳來的json數據

(3)可以使用json.js來增加瀏覽器的功能(一般針對性引用,在瀏覽器不支持json時加載json.js)

(4)簡單粗暴的解決方法:

var obj = eval (“(” + txt + “)”);//txt是php傳來的json數據

但是使用eval不安全,而且需要是有效的json數據.如果你能保證是安全且正確的數據,可以這樣簡單處理.

php解析json並輸出到html頁面

用json_decode()將json字符串轉化成php數組,然後直接循環數組取出值即可。

?php

$content= file_get_contents(‘獲取json字符串的url’);

$content = json_decode($content);//將json字符串轉化成php數組

foreach ($content as $key ) {//循環數組

echo ‘li’ . $key[‘city’] . ‘/li’;

echo ‘li’ . $key[‘city_en’] . ‘/li’;

echo ‘li’ . $key[‘date_y’] . ‘/li’;

echo ‘li’ . $key[‘week’] . ‘/li’;

}

php解析json數組問題。

$a = json_decode(‘{“status”:0,”total”:1,”size”:1,”contents”:[{“title”:”111″,”location”:[113.11509,23.012777],”city”:”\u4f5b\u5c71\u5e02″,”create_time”:1385386545,”geotable_id”:38432,”address”:”\u5e7f\u4e1c\u7701\u4f5b\u5c71\u5e02\u7985\u57ce\u533a\u6c7e\u6c5f\u5357\u8def8\u53f7″,”province”:”\u5e7f\u4e1c\u7701″,”district”:”\u7985\u57ce\u533a”,”map_id”:”1″,”uid”:42504634,”coord_type”:3,”type”:0,”distance”:370,”weight”:0}]}’,true);

json_decode第二個參數true

解析出來就是array(4) { [“status”]= int(0) [“total”]= int(1) [“size”]= int(1) [“contents”]= array(1) { [0]= array(14) { [“title”]= string(3) “111” [“location”]= array(2) { [0]= float(113.11509) [1]= float(23.012777) } [“city”]= string(9) “佛山市” [“create_time”]= int(1385386545) [“geotable_id”]= int(38432) [“address”]= string(43) “廣東省佛山市禪城區汾江南路8號” [“province”]= string(9) “廣東省” [“district”]= string(9) “禪城區” [“map_id”]= string(1) “1” [“uid”]= int(42504634) [“coord_type”]= int(3) [“type”]= int(0) [“distance”]= int(370) [“weight”]= int(0) } } }

這樣的數組會取內容了吧

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-標準的數據類型。

php提取json數組裏面的值怎麼提?

先把獲取的內容打印出來 ,看看是不是正常返回的數據

$filename = “”;

$content = file_get_contents($filename);

$json = @json_decode($content );

if($json){

    $city=$json-city;

}else{

    echo “json解析失敗:”.$content;

}

也可以根據你的框架功能,寫成日誌,方便出錯時隨時檢查

另外 ,json_decode 可以接收一個參數來確定解析成對象還是數組

$content = ‘{“ip”:”120.239.177.231″,”pro”:”廣東省”,”proCode”:”440000″,”city”:”中山市”,”cityCode”:”442000″,”region”:””,”regionCode”:”0″,”addr”:”廣東省中山市 移通”,”regionNames”:””,”err”:””}’;

$json = json_decode($content,true);

echo $json[‘city’];

參考文檔:PHP json_decode

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-21 01:16
下一篇 2024-11-21 01:16

相關推薦

  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python去掉數組的中括號

    在Python中,被中括號包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括號。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 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
  • Python二維數組對齊輸出

    本文將從多個方面詳細闡述Python二維數組對齊輸出的方法與技巧。 一、格式化輸出 Python中提供了格式化輸出的方法,可以對輸出的字符串進行格式化處理。 names = [‘A…

    編程 2025-04-29
  • Java創建一個有10萬個元素的數組

    本文將從以下方面對Java創建一個有10萬個元素的數組進行詳細闡述: 一、基本介紹 Java是一種面向對象的編程語言,其強大的數組功能可以支持創建大規模的多維數組以及各種複雜的數據…

    編程 2025-04-28
  • Python數組隨機分組用法介紹

    Python數組隨機分組是一個在數據分析與處理中常用的技術,它可以將一個大的數據集分成若干組,以便於進行處理和分析。本文將從多個方面對Python數組隨機分組進行詳細的闡述,包括使…

    編程 2025-04-28
  • Python數組索引位置用法介紹

    Python是一門多用途的編程語言,它有着非常強大的數據處理能力。數組是其中一個非常重要的數據類型之一。Python支持多種方式來操作數組的索引位置,我們可以從以下幾個方面對Pyt…

    編程 2025-04-28

發表回復

登錄後才能評論