簡體   English   中英

將PHP數組的字符串轉換為javascript對象

[英]Convert string of PHP array to javascript Object

我有一個將javascript對象編碼為以下代碼的代碼:

<script>
    var php_string='array("one"=>"value_one","two"=>"value_two")';
</script>

現在我想知道如何將其轉換為:

{
    "one":"value_one",
    "two":"value_two"
}

php_string的內容通過$_POST變量發送到PHP。 無論如何,還是應該使用JSON?

編輯

如所要求的,這是使我的php_string的代碼:

function encodeFormOptions(inputsWrapper){
    var the_serialize=$(inputsWrapper).find(":input").serializeArray();
    var text="array(";
    $.each( the_serialize, function( key, value ) {
        text+='"'+value["name"]+'"=>'+'"'+value["value"]+'",';
    });
    if (text.charAt(text.length-1)==",")
        text=text.substring(0,text.length-1);
    text+=");";
    return text;
}

編輯2

我忘了說我需要使用純Javascript進行此轉換。 換句話說,我需要將數組字符串解析為一個javascript對象,因為當單擊頁面上的某個按鈕時,我需要讀取php_string中當前的值。

編輯3( php_string的全部原因)

我試圖抽象這個問題,但是現在我發現我不應該這樣做。

我有一個頁面表單,其中包含一些輸入和多個名為“ options”的按鈕

當我單擊這些按鈕中的任何一個時,將顯示一個彈出窗口,其中帶有動態字段(從選擇字段中選擇的選項派生),當我填寫所有輸入內容時,我將創建php_string並將其保存在隱藏字段中。

現在,我希望當我再次單擊“選項”按鈕之一時,我可以讀取我保存在隱藏字段中的內容,以便輸入默認值,如果選擇字段的選定選項不顯示,則彈出窗口輸入應顯示的默認值沒改變。

然后在PHP上解析隱藏字段。

編輯:

看來這可能更接近您想要的東西:

<script>
    var php_string = 'array("one"=>"value_one","two"=>"value_two")';
    var php_string = JSON.parse(php_string.replace(/array\(/g, '{').replace(/\)/g, '}').replace(/=>/g, ':'));
</script>

當然,這並不是處理它的最優雅的方法,因此請考慮重構產生該輸出的內容。 例如,您可以從客戶端發送json,並在服務器端使用json_decode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM