回覆列表
  • 1 # 程式設計師小助手

    引言

    虛頭巴腦的大道理就不講了,直接上程式碼。

    我們說一下把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 :)

  • 2 # 爪哇程式猿

    二維陣列轉json字串

    public static String twoArrToJson(int[][] arr) {

    String jsonStr = JSONArray.fromObject(arr).toString();

    return jsonStr;

    }

  • 中秋節和大豐收的關聯?
  • 找村裡人幫忙蓋三層房子,蓋了一層,突然要求漲工價?合理嗎?