解決php的json(PHP )

本文目錄一覽:

如何解決php中json

json_decode()

json_decode

(PHP 5 = 5.2.0, PECL json = 1.2.0)

json_decode — 對 JSON 格式的字符串進行編碼

說明

mixed json_decode ( string $json [, bool $assoc ] )

接受一個 JSON 格式的字符串並且把它轉換為 PHP 變量

參數

json

待解碼的 json string 格式的字符串。

assoc

當該參數為 TRUE 時,將返回 array 而非 object 。

返回值

Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.

2.json_encode()

json_encode

(PHP 5 = 5.2.0, PECL json = 1.2.0)

json_encode — 對變量進行 JSON 編碼

Report a bug 說明

string json_encode ( mixed $value [, int $options = 0 ] )

返回 value 值的 JSON 形式

Report a bug 參數

value

待編碼的 value ,除了resource 類型之外,可以為任何數據類型

該函數只能接受 UTF-8 編碼的數據

options

由以下常量組成的二進制掩碼: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICODE.

Report a bug 返回值

編碼成功則返回一個以 JSON 形式表示的 string 或者在失敗時返回 FALSE 。

Report a bug 更新日誌

版本 說明

5.4.0 options 參數增加常量: JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, 和 JSON_UNESCAPED_UNICODE。

5.3.3 options 參數增加常量:JSON_NUMERIC_CHECK。

5.3.0 增加 options 參數.

PHP JSON格式的中文顯示問題解決方法

返回json數據中文顯示的問題

上一篇文章中,返回json格式的中文顯示成\u5723\u8bde\u8282\u5343\u4e07\u597d\u793c\u5927\u5949\u9001

解決方法一:

複製代碼

代碼如下:

?php

function

Notice(){

include

‘./include/conn.php’;

//數據庫鏈接文件

$sql_notice

=

mysql_query(‘SELECT

*

FROM

gg_notice

where

enable

=

“1”

limit

0,10′);

$notice

=

mysql_fetch_array($sql_notice,

MYSQL_ASSOC);

$str

=

json_encode($notice);

//linux

return

preg_replace(“#\\\u([0-9a-f]{4})#ie”,

“iconv(‘UCS-2BE’,

‘UTF-8’,

pack(‘H4’,

‘\\1’))”,

$str);

//windows

//return

preg_replace(“#\\\u([0-9a-f]{4})#ie”,

“iconv(‘UCS-2LE’,

‘UTF-8’,

pack(‘H4’,

‘\\1’))”,

$str);

}

?

另外從網上搜索到的其他方法

複製代碼

代碼如下:

?php

/**

*

json

生成,分析

支持中文

*/

class

Json_Helper

{

/**

*

生成json

*/

public

static

function

encode($str){

$json

=

json_encode($str);

//linux

return

preg_replace(“#\\\u([0-9a-f]{4})#ie”,

“iconv(‘UCS-2BE’,

‘UTF-8’,

pack(‘H4’,

‘\\1’))”,

$json);

//windows

//return

preg_replace(“#\\\u([0-9a-f]{4})#ie”,

“iconv(‘UCS-2LE’,

‘UTF-8’,

pack(‘H4’,

‘\\1’))”,

$json);

}

/**

*

分析json

*/

public

static

function

decode($str)

{

return

json_decode($str);

}

}

?

PHP中json_encode中文亂碼問題

php 中使用 json_encode() 內置函數(php 5.2)可以使用得 php 中數據可以與其它語言很好的傳遞並且使用它。這個函數的功能是將數值轉換成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_encode中文亂碼問題

解決方法是用urlencode()函數處理以下,在json_encode之前,把所有數組內所有內容都用urlencode()處理一下,然用json_encode()轉換成json字符串,最後再用urldecode()將編碼過的中文轉回來

*/

function arrayrecursive($array, $function, $apply_to_keys_also = false)

{

static $recursive_counter = 0;

if (++$recursive_counter 1000) {

die(‘possible deep recursion attack’);

}

foreach ($array as $key = $value) {

if (is_array($value)) {

arrayrecursive($array[$key], $function, $apply_to_keys_also);

} else {

$array[$key] = $function($value);

}

if ($apply_to_keys_also is_string($key)) {

$new_key = $function($key);

if ($new_key != $key) {

$array[$new_key] = $array[$key];

unset($array[$key]);

}

}

}

$recursive_counter–;

}

/**************************************************************

*

* 將數組轉換為json字符串(兼容中文)

* @param array $array 要轉換的數組

* @return string 轉換得到的json字符串

* @access public

*

*************************************************************/

function json($array) {

arrayrecursive($array, ‘urlencode’, true);

$json = json_encode($array);

return urldecode($json);

}

$array = array

(

‘name’=’希亞’,

‘age’=20

);

echo json($array);

//應用實例

$servname=”localhost”;

$sqlservname=”root”;

$sqlservpws=”123456″;

$sqlname=”lock1″;

$db=mysql教程_connect($servname,$sqlservname,$sqlservpws) or die(“數據庫教程連接失敗”);

mysql_select_db($sqlname,$db);

$sql = “select * from t_operater”;

$result =mysql_query($sql);

$rows = mysql_num_rows($result);

while($obj = mysql_fetch_object($result))

{

$arr[] = $obj;

}

echo ‘({“total”:”‘.$rows.'”,”results”:’.json_encode($arr).’})’;

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
XZ4RM的頭像XZ4RM
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • 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
  • 使用PHP foreach遍歷有相同屬性的值

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

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

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

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

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

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

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

    編程 2025-04-27
  • 使用Python獲取JSON並解析

    本文將介紹如何使用Python獲取JSON數據並解析相關內容。通過使用Python的第三方庫,我們可以輕鬆地處理JSON數據,包括讀取、提取和操作JSON數據。 一、獲取JSON數…

    編程 2025-04-27
  • Python存為JSON的方法及實例

    本文將從以下多個方面對Python存為JSON做詳細的闡述。 一、JSON簡介 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人閱…

    編程 2025-04-27

發表回復

登錄後才能評論