phpjson嵌套
⑴ php數組嵌套問題
前面的問題既然找到了就不再贅述,我是直接看你最後一個問題的。
如何將帶有中文的二維數組 轉化為JSON輸出呢?
使用JSON作為提交和接收的數據格式時字元都採用UTF8編碼處理,當我們的頁面編碼和資料庫編碼不是採用UTF8的時候,就極容易出現中文亂碼的問題。解決辦法自然是在用js或者PHP處理JSON數據的時候都採用UTF8的形式
$data="JSON中文";
$newData=iconv("GB2312","UTF-8//IGNORE",$data); //轉utf8
//ignore的意思是忽略轉換時的錯誤,如果沒有ignore參數,所有該字元後面的字元都不會被保存。
⑵ PHP json多維數組追加數組怎麼寫
首先你需要把json轉碼為php可操作的數組類型(Array),
再進行追加數據.
$data = '{"msg":"200","名單":[{"名字":"小明"}]}';
$data =
json_decode
($data, true); // 轉碼為數組
$data['名單'][] = ['名字' => '新數據']; // 追加數據
// 或者:
array_push
($data['名單'], ['名字' => '新數據']);
$data =
json_encode
($data); // 重新轉碼為JSON字元串
⑶ PHP JSON格式數據交互實例代碼詳解
在PHP中解析JSON主要用到json_encode和json_decode兩個PHP
JSON函數,比PHP解析XML方便很多,下面詳細介紹下PHP
JSON的使用。
JSON基礎介紹
JSON(javaScript
Object
Notation)
是一種輕量級的數據交換格式。
JSON主要有兩種結構:
「名稱/值」對的集合,在PHP中可以理解為關聯數組
(associative
array)。
值的有序列表(An
ordered
list
of
values)。在PHP中可以理解為普通數組(array)。
對象是一個無序的「『名稱/值'對」集合。一個對象以「{」(左括弧)開始,「}」(右括弧)結束。每個「名稱」後跟一個「:」(冒號);「『名稱/值'
對」之間使用「,」(逗號)分隔。
數組是值(value)的有序集合。一個數組以「[」(左中括弧)開始,「]」(右中括弧)結束。值之間使用「,」(逗號)分隔。值(value)可以是雙引號括起來的字元串(string)、數值(number)、true、false、
null、對象(object)或者數組(array)。這些結構可以嵌套。
我目前對JSON的理解更偏向於數組,類似於PHP中的關聯數組,你可以將PHP數組轉換為JSON格式。
更多JSON的介紹請參考JSON官網和IBM關於JSON的介紹
PHP
JSON解析實例
PHP5.2開始已經將JSON作為PHP擴展的一部分,所以並不需要另外安裝JSON。另外為了保證下面的PHP
JSON實例不出現中文亂碼,請保證你的編碼格式為UTF8。
JSON是Javascript的一部分,首先我們看下Javascript中如何定義JSON
復制代碼
代碼如下:
var
json_obj
=
{'WebName':'PHP網站開發教程網'};
alert(json_obj.WebName);
var
json_arr
=[{'WebName':'PHP網站開發教程網','WebSite':'http://www.jb51.net'},{'ArtTitle':'PHP
JSON實例講解'}]
alert(json_arr[1].ArtTitle);
var
php_json
=
[['PHP網站開發教程網','http://www.jb51.net'],['文章標題','PHP
JSON實例講解']];
alert(php_json[1][0]);
在這段JSON實例代碼中我構建了所有的JSON形式,
第1行,定義了JSON以對象形式存在
第4行,定義了JSON以數組形式存在,嵌套了JSON對象,所以有點類似於PHP的關聯數組,其實仍然是對象。
第7行,定了JSON以普通數組形式存在。
注意:由於Javascript是區分大小寫的,所以訪問JSON關聯數組對象時注意key的大小寫問題。
PHP與JSON格式數據交互時,第一步需要將PHP數組轉換為JSON格式的數據,可使用PHP5自帶的json_encode函數,當PHP解析傳遞過來的JSON格式數據時需要使用json_decode函數進行解析轉換為PHP數組,PHP轉換並解析JSON數據的實例代碼如下
復制代碼
代碼如下:
<?php
$json_arr
=
array('WebName'=>'PHP網站開發教程網','WebSite'=>'http://www.jb51.net');
$php_json
=
json_encode($json_arr);
echo
$php_json;
$php_json
=
json_decode($php_json);
print_r($php_json);
?>
說明:這里通過PHP定義了關聯數組,然後通過json_encode轉換為JSON格式的數據,通過echo語句可以看到轉換後的JSON對象,通過PHP
JSON解析函數json_decode可以將JSON格式的數據解析為PHP的關聯數組。如果編碼不正確,JSON中文會出現亂碼。如果你使用Editplus調試PHP,請注意保存文件時編碼將ANSI改為UTF8。
最後我們來看下完整的PHP
JSON交互實例
復制代碼
代碼如下:
<?php
$json_arr
=
array('WebName'=>'PHP網站開發教程網','WebSite'=>'http://www.jb51.net');
$php_json
=
json_encode($json_arr);
?>
<script
type="text/javascript">
var
php_json
=
<?=$php_json?>;
</script>
<script
type="text/javascript">
function
php_json_dis(php_json)
{
alert(php_json.WebName);
alert(php_json.WebSite);
}
php_json_dis(php_json);
</script>
至此,PHP通過json_encode和json_decode函數對JSON格式數據進行轉換和解析的實例就介紹完了。
⑷ PHP中foreach嵌套循環輸出數組代碼
以下是編寫json數據轉換成數組時寫foreach嵌套循環輸出的代碼:
<?php
$json = '[{"a":1,"b":2,"c":3,"d":4,"e":5},{"a":12,"b":22,"c":32,"d":42,"e":52},{"a":13,"b":23,"c":33,"d":43,"e":53}]';
$arr = (array) json_decode($json,true);
foreach($arr as $arrvalue)
{
foreach($arrvalue as $key=>$value)
{
echo "[$key] = $value <br />";
}
}
?>
⑸ php處理微信小程序request請求
微信小程序的js後台只能執行一些簡單的邏輯,遇到比較復雜的處理表單數據的功能或者網路功能就需要連接伺服器來遠程處理,實現方式歷漏飢就是調用小程序的 wx.request() 這一介面。
request請求 就是基本的HTTP請求,可以攜帶一些表單數據,交給伺服器處理。
在小程序中的寫法如下:
採用php作為伺服器端語言,通過WAMP等框架可以很容易地搭建環境,伺服器主搜畢要完成對請求數據的處理以及結果數據的返回。
請求數據的獲取非常容易,直接訪問相應的超全局數組,對於GET方法而言,通過下面的方式即可:
為了方便小程序端數據的處理,結果數據仍通過json格式返回,具體在php中的簡單做法就是
這樣返回的json數據就為
其中value1,value2等變數可以設置為多維數組,這樣通過json_encode() 函數之後就可以得到相應的嵌套的json數據,從而方便處理。
通過php可以很容易地處理微信小程序的request請求,筆者是由於前一段時間需要進行微信小程序的開發,就研究了一下小程序的邏輯,然後嘗試用php進行服務端處理,對於簡單的請求處理起來肢返覺得還不錯,這篇文章可以作為初次接觸微信小程序的一個參考。
⑹ PHP中將兩個json合並成一個json,求大神幫忙
先把兩個json字元串都變成PHP的數組,這樣兩個數組可以用 PHP的array_merge來合並。
合並完了之後的數組再用一下PHP的json_encode就得到你要的結果了。
具體過程如下 :
json_encode(
array_merge(
json_decode($json1),
json_decode($json2)
)
);
⑺ php怎麼樣在json文件中指定位置追加數據,在【】中存儲,謝謝各位大佬
<?php
$jsonStr=file_get_contents("test.json");
$jsonStr=str_replace("vargoodsData=[","[",$jsonStr);
$jsonStr=str_replace("];","]",$jsonStr);
$jsonData=json_decode($jsonStr,true);
$data=array();
$data['a']='test';
$data['b']='12133';
array_push($jsonData,$data);
$json_string="vargoodsData=".json_encode($jsonData).";";
file_put_contents("test.json",$json_string);
?>
⑻ php 怎麼向json 中添加json數據
其實json格式無非就是{name:123,鍵散橘:值,…}的形式下去,你就可以根據這個悶伏辦法沖罩團進行賦值到json存儲了。其實你也可以把數組轉成json,使用json_encode函數轉換,json轉數組用json_decode解碼就可以了。
希望我的回答可以幫到你,有什麼不懂可以追問。
⑼ 在php寫有多層嵌套的json
php解析多層 json嵌套
for ($i = 0; $i < $count_json2; $i++)
{
$title = $de_json2[0]['result']['data'][0]['title'];
$imtro = $de_json2[0]['result']['data'][0]['imtro'];
$stepsimg1 = $de_json2[0]['result']['data'][0]['steps'][0]['img'];
$stepsstep1 = $de_json2[0]['如碼result']['data'][0]['首陸steps'][0]['step'];
echo "者橡頃步驟1: " .$stepsstep1 ."<br>";
⑽ 如何用php解一個多層嵌套的json啊
json_decode()函數,把json轉換成數組或對象,就好處理了。