回覆列表
-
1 # 程式設計師小助手
-
2 # 爪哇程式猿
二維陣列轉json字串
public static String twoArrToJson(int[][] arr) {
String jsonStr = JSONArray.fromObject(arr).toString();
return jsonStr;
}
二維陣列轉json字串
public static String twoArrToJson(int[][] arr) {
String jsonStr = JSONArray.fromObject(arr).toString();
return jsonStr;
}
引言
虛頭巴腦的大道理就不講了,直接上程式碼。
我們說一下把PHP巢狀的陣列,轉換為JSON字串,提供給JS前端用。
基本面使用json_encode函式將PHP陣列傳遞給JSON字串和JavaScript陣列。在本文,我們使用多維陣列進行演示。一個數組是數字索引的,另外兩個是混合數字和字典關聯的。
無論PHP陣列是單級的還是多級的,或者是數字索引的還是關聯索引的,下面的程式碼放在一個JavaScript段中,將會輸出到JavaScript:
你可能希望使用JavaScript的JSON。解析來處理PHP的json_encode的結果,在這種情況下,使用以下程式碼:
對於下面的示例陣列,首先用PHP顯示該陣列,然後包括用於輸出它的json_encode的JavaScript段,然後顯示輸出。最後展示在JavaScript中用於訪問結果陣列元素或物件屬性的語法。
示例陣列1預設情況下,json_encode將數字索引的PHP陣列輸出為JavaScript中的陣列文字。關聯的PHP陣列作為物件文字輸出。
示例陣列2在json_encode輸出中,外層是陣列文字,而第二層形成物件文字。下面的程式碼註釋演示瞭如何使用JSON_PRETTY_PRINT選項和json_encode實現更可讀的輸出:
更復雜的陣列結構這個例子演示瞭如何使用JSON。解析json_encode的輸出。PHP標記為此用單引號括起來。
訪問方式可以是索引鍵,可以是數字。
我們不能在JSON.parse中使用JSON_PRETTY_PRINT,因為那會導致JavaScript錯誤:未終止的字串文字。
寫在最後本文透過深度對比PHP的陣列,與JS的JSON物件之間的數值轉換,可以較為清晰地掌握關鍵點,而不至於頻頻踩坑。
Happy coding :)